예제 #1
0
        DTOBuffMemberView GetMembers4Mem(out ManagerSkillUseWrap use, out DTOBuffPoolView poolView, Guid managerId, string siteId, ArenaTeammemberFrame arenaFrame)
        {
            use      = ManagerUtil.GetSkillUseWrap(managerId, siteId);
            poolView = BuffPoolCore.Instance().GetRawPools(managerId, siteId, true);
            bool syncFlag = true;

            if (FrameConfig.SWAPBuffDisableCrossCache && !string.IsNullOrEmpty(siteId))
            {
                syncFlag = false;
            }
            ulong    verNo = use.VersionNo;
            DateTime dtNow = DateTime.Now;

            if (verNo == 0 || dtNow >= poolView.SyncTime)
            {
                if (syncFlag)
                {
                    s_buffSync.SyncBuffPools(managerId, siteId);
                }
                return(null);
            }
            var data = s_memBuffMember.Get <DTOBuffMemberView>(arenaFrame.ArenaType.ToString() + managerId.ToString());

            if (null != data &&
                data.UseSyncVersion == verNo &&
                data.PoolSyncTime == poolView.SyncTime &&
                data.PoolSyncVersion == poolView.SyncVersion)
            {
                return(data);
            }
            return(null);
        }
        public void TestNullKeyGet()
        {
            ICache cache = new MemCacheClient();

            cache.Put("nunit", "value");
            Thread.Sleep(1000);
            object item = cache.Get(null);

            Assert.IsNull(item);
        }
예제 #3
0
        /// <summary>
        /// 获取刚发布的公文
        /// </summary>
        /// <returns></returns>
        public List <V_SystemNotice> RefreshSendDocData(string employeeid, int pageIndex
                                                        , int pageSize, ref int pageCount, ref int DataCount, List <string> postIDs
                                                        , List <string> companyIDs, List <string> departmentIDs
                                                        , ref bool NeedGetNewData, bool NeedAllData
                                                        , string filterString, List <object> paras, string Doctitle)
        {
            if (NeedAllData)//强制获取所有数据
            {
                NeedGetNewData = true;
            }
            else
            {
                //否则通过读取缓存判断是否需要获取更新数据,否的话直接返回null;
                try
                {
                    var obj = MemCacheClient.Get(employeeid + "SendDocMent");
                    if (obj == null)
                    {
                        NeedGetNewData = false;
                        return(null);
                    }
                    else
                    {
                        //Tracer.Debug("从MemCached获取到新的公司发文数据,Key" + employeeid + "SendDocMent");
                        NeedGetNewData = true;
                        MemCacheClient.Remove(employeeid + "SendDocMent");
                    }
                }
                catch (Exception ex)
                {
                    Tracer.Debug("公司发文获取缓存对象失败:" + ex.ToString());
                }
            }

            try
            {
                //Tracer.Debug("公司发文中查询的内容:" + Doctitle );
                IQueryable <V_SystemNotice> ent = GetHouseAndNoticeInfoToMobile(pageIndex, pageSize, ref pageCount, ref DataCount, employeeid
                                                                                , postIDs, companyIDs, departmentIDs, filterString, paras, Doctitle);
                return(ent != null?ent.ToList() : null);
            }
            catch (Exception ex)
            {
                Tracer.Debug("房源管理HouseInfoManagerBll-GetHouseAndNoticeInfo" + System.DateTime.Now.ToString() + " " + ex.ToString());
                return(null);
            }
        }
예제 #4
0
        /// <summary>
        /// 获取原始Buff
        /// </summary>
        /// <param name="managerId">经理id</param>
        /// <param name="syncFlag">同步缓存标记</param>
        /// <returns></returns>
        public DTOBuffPoolView GetRawPools(Guid managerId, string siteId = "", bool syncFlag = true)
        {
            if (FrameConfig.SWAPBuffDisableCrossCache && !string.IsNullOrEmpty(siteId))
            {
                syncFlag = false;
            }
            var data = s_memBuffPool.Get <DTOBuffPoolView>(managerId.ToString());

            if (null == data)
            {
                data = ReqRawPools(managerId, siteId, syncFlag);
            }
            else
            {
                if (syncFlag && !IfMemValid(data.CreateTime))
                {
                    s_buffSync.SyncBuffPools(managerId, siteId);
                }
            }
            return(data);
        }
		public void TestNullKeyGet()
		{
			ICache cache = new MemCacheClient();
			cache.Put("nunit", "value");
			Thread.Sleep(1000);
			object item = cache.Get(null);
			Assert.IsNull(item);
		}