public static DependencyBase PrepareDependency() { if (false == File.Exists(InnerCacheHelper.cacheDependenceFile)) { lock (InnerCacheHelper.syncFile) { if (false == File.Exists(InnerCacheHelper.cacheDependenceFile)) { File.Create(InnerCacheHelper.cacheDependenceFile); } } } TimeSpan ts = new TimeSpan(0, 1, 0); MixedDependency result = new MixedDependency( new FileCacheDependency(InnerCacheHelper.cacheDependenceFile), new SlidingTimeDependency(new TimeSpan(AccreditSection.GetConfig().AccreditSettings.CacheSlideMinutes *ts.Ticks))); return(result); }
public static UserSettings GetSettings(string userID) { userID.CheckStringIsNullOrEmpty("userID"); UserSettings result = UserSettingsCache.Instance.GetOrAddNewValue(userID, (cache, key) => { UserSettings settings = LoadSettings(userID); MixedDependency mixedDependency = new MixedDependency( new UdpNotifierCacheDependency(), new UserRecentDataCacheItemDependency(), new MemoryMappedFileNotifierCacheDependency()); cache.Add(key, settings, mixedDependency); return(settings); }); return(result); }
/// <summary> /// 根据用户ID和Category获取指定的配置 /// </summary> /// <param name="userID"></param> /// <returns></returns> public static UserRecentDataCategory GetSettings(string userID, string category) { userID.CheckStringIsNullOrEmpty("userID"); category.CheckStringIsNullOrEmpty("category"); var result = UserRecentDataCategoryCache.Instance.GetOrAddNewValue(new UserRecentDataCategoryCacheKey(userID, category), (cache, key) => { var categoryData = LoadSettings(key.UserId, key.Category); MixedDependency mixedDependency = new MixedDependency( new UdpNotifierCacheDependency(), new UserRecentDataCacheItemDependency(), new MemoryMappedFileNotifierCacheDependency()); cache.Add(key, categoryData, mixedDependency); return(categoryData); }); return(result); }