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); }
/// <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); } }
/// <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); }