コード例 #1
0
        public static void Add <T>(string key, T value, int cacheTime, CacheExpiresType cacheExpiresType, CacheDependency dependencies, CacheItemPriority cacheItemPriority, CacheItemRemovedCallback callback)
        {
            //Remove(key);

            DateTime absoluteExpiration;

            if (cacheExpiresType == CacheExpiresType.Sliding)
            {
                absoluteExpiration = System.Web.Caching.Cache.NoAbsoluteExpiration;
            }
            else
            {
                absoluteExpiration = DateTime.Now.AddMinutes(cacheTime);
            }

            TimeSpan slidingExpiration;

            if (cacheExpiresType == CacheExpiresType.Absolute)
            {
                slidingExpiration = System.Web.Caching.Cache.NoSlidingExpiration;
            }
            else
            {
                slidingExpiration = TimeSpan.FromMinutes(cacheTime);
            }


            HttpRuntime.Cache.Insert(key, value, dependencies, absoluteExpiration, slidingExpiration, cacheItemPriority, callback);
        }
コード例 #2
0
        public static void Set(string key, object value, int cacheTime, CacheExpiresType cacheExpiresType, CacheDependency dependencies, CacheItemPriority cacheItemPriority)
        {
            DateTime absoluteExpiration;

            if (cacheTime == 0 || cacheExpiresType == CacheExpiresType.Sliding)
            {
                absoluteExpiration = Cache.NoAbsoluteExpiration;
            }
            else
            {
                absoluteExpiration = DateTime.Now.AddMinutes(cacheTime);
            }

            TimeSpan slidingExpiration;

            if (cacheTime == 0 || cacheExpiresType == CacheExpiresType.Absolute)
            {
                slidingExpiration = Cache.NoSlidingExpiration;
            }
            else
            {
                slidingExpiration = TimeSpan.FromMinutes(cacheTime);
            }

            HttpRuntime.Cache.Insert(key, value, dependencies, absoluteExpiration, slidingExpiration, cacheItemPriority, null);
        }
コード例 #3
0
ファイル: CacheUtil.cs プロジェクト: bylu/baiyiWeb
        public static void Add <T>(string key, T value, CacheTime cacheTime, CacheExpiresType cacheExpiresType, CacheDependency dependencies, CacheItemPriority cacheItemPriority, CacheItemRemovedCallback callback)
        {
            DateTime absoluteExpiration = GetAbsoluteExpiration(cacheTime, cacheExpiresType);
            TimeSpan slidingExpiration  = GetSlidingExpiration(cacheTime, cacheExpiresType);

            if (cacheTime == CacheTime.NotRemovable)
            {
                cacheItemPriority = CacheItemPriority.NotRemovable;
            }
            HttpRuntime.Cache.Insert(GetPrivateCacheKey(key), value, dependencies, absoluteExpiration, slidingExpiration, cacheItemPriority, callback);
        }
コード例 #4
0
ファイル: CacheUtil.cs プロジェクト: bylu/baiyiWeb
        private static DateTime GetAbsoluteExpiration(CacheTime cacheTime, CacheExpiresType cacheExpiresType)
        {
            if ((cacheTime == CacheTime.NotRemovable) || (cacheExpiresType == CacheExpiresType.Sliding))
            {
                return(Cache.NoAbsoluteExpiration);
            }
            switch (cacheTime)
            {
            case CacheTime.Short:
                return(DateTime.Now.AddMinutes(2.0));

            case CacheTime.Long:
                return(DateTime.Now.AddMinutes(20.0));
            }
            return(DateTime.Now.AddMinutes(5.0));
        }
コード例 #5
0
ファイル: CacheUtil.cs プロジェクト: bylu/baiyiWeb
        private static TimeSpan GetSlidingExpiration(CacheTime cacheTime, CacheExpiresType cacheExpiresType)
        {
            if ((cacheTime == CacheTime.NotRemovable) || (cacheExpiresType == CacheExpiresType.Absolute))
            {
                return(Cache.NoSlidingExpiration);
            }
            switch (cacheTime)
            {
            case CacheTime.Short:
                return(TimeSpan.FromMinutes(2.0));

            case CacheTime.Long:
                return(TimeSpan.FromMinutes(20.0));
            }
            return(TimeSpan.FromMinutes(5.0));
        }
コード例 #6
0
        private static TimeSpan GetSlidingExpiration(CacheTime cacheTime, CacheExpiresType cacheExpiresType)
        {
            if (cacheTime == CacheTime.NotRemovable || cacheExpiresType == CacheExpiresType.Absolute)
            {
                return(System.Web.Caching.Cache.NoSlidingExpiration);
            }

            switch (cacheTime)
            {
            case CacheTime.Short:
                return(TimeSpan.FromMinutes(20));

            default:
            case CacheTime.Default:
            case CacheTime.Normal:
                return(TimeSpan.FromMinutes(60 * 24));   //一天

            case CacheTime.Long:
                return(TimeSpan.FromMinutes(60 * 24 * 365));   //一年
            }
        }
コード例 #7
0
        private static DateTime GetAbsoluteExpiration(CacheTime cacheTime, CacheExpiresType cacheExpiresType)
        {
            if (cacheTime == CacheTime.NotRemovable || cacheExpiresType == CacheExpiresType.Sliding)
            {
                return(System.Web.Caching.Cache.NoAbsoluteExpiration);
            }

            switch (cacheTime)
            {
            case CacheTime.Short:
                return(DateTime.Now.AddMinutes(20));

            default:
            case CacheTime.Default:
            case CacheTime.Normal:
                return(DateTime.Now.AddMinutes(60 * 24));   //一天

            case CacheTime.Long:
                return(DateTime.Now.AddMinutes(60 * 24 * 365));   //一年
            }
        }
コード例 #8
0
ファイル: CacheUtil.cs プロジェクト: zhangbo27/bbsmax
        private static DateTime GetAbsoluteExpiration(CacheTime cacheTime, CacheExpiresType cacheExpiresType)
        {
            if (cacheTime == CacheTime.NotRemovable || cacheExpiresType == CacheExpiresType.Sliding)
            {
                return(Cache.NoAbsoluteExpiration);
            }

            switch (cacheTime)
            {
            case CacheTime.Short:
                return(DateTime.Now.AddMinutes(2));

            default:
            case CacheTime.Default:
            case CacheTime.Normal:
                return(DateTime.Now.AddMinutes(5));

            case CacheTime.Long:
                return(DateTime.Now.AddMinutes(20));
            }
        }
コード例 #9
0
        private static void GetCacheType(ThreadOrderType orderType, out CacheTime?cacheTime, out CacheExpiresType expiresType, out int?minute)
        {
            minute = null;
            switch (orderType)
            {
            case ThreadOrderType.AllForumTopWeekViewThreads:
            case ThreadOrderType.ForumTopWeekViewThreads:
                cacheTime   = null;
                minute      = AllSettings.Current.CacheSettings.WeekPostCacheTime;
                expiresType = CacheExpiresType.Absolute;
                break;

            case ThreadOrderType.ForumTopDayViewThreads:
            case ThreadOrderType.AllForumTopDayViewThreads:
                cacheTime   = null;
                minute      = AllSettings.Current.CacheSettings.DayPostCacheTime;
                expiresType = CacheExpiresType.Absolute;
                break;

            case ThreadOrderType.MovedThreads:
                cacheTime   = null;
                minute      = 20;
                expiresType = CacheExpiresType.Absolute;
                break;

            default:
                cacheTime   = CacheTime.Default;
                expiresType = CacheExpiresType.Sliding;
                break;
            }
        }
コード例 #10
0
ファイル: CacheUtil.cs プロジェクト: bylu/baiyiWeb
 public static void Add <T>(string key, T value, CacheTime cacheTime, CacheExpiresType cacheExpiresType, CacheDependency dependencies, CacheItemPriority cacheItemPriority)
 {
     Add <T>(key, value, cacheTime, cacheExpiresType, dependencies, CacheItemPriority.NotRemovable, null);
 }
コード例 #11
0
ファイル: CacheUtil.cs プロジェクト: bylu/baiyiWeb
 public static void Set <T>(string key, T value, CacheTime cacheTime, CacheExpiresType cacheExpiresType, CacheDependency dependencies, CacheItemPriority cacheItemPriority, CacheItemRemovedCallback callback)
 {
     Add <T>(key, value, cacheTime, cacheExpiresType, dependencies, cacheItemPriority, callback);
 }
コード例 #12
0
ファイル: CacheUtil.cs プロジェクト: bylu/baiyiWeb
 public static void Set <T>(string key, T value, CacheTime cacheTime, CacheExpiresType cacheExpiresType, CacheDependency dependencies, CacheItemPriority cacheItemPriority)
 {
     Set <T>(key, value, cacheTime, cacheExpiresType, dependencies, cacheItemPriority, null);
 }
コード例 #13
0
ファイル: CacheUtil.cs プロジェクト: bylu/baiyiWeb
 public static void Add <T>(string key, T value, CacheTime cacheTime, CacheExpiresType cacheExpiresType)
 {
     Add <T>(key, value, cacheTime, cacheExpiresType, null, CacheItemPriority.NotRemovable, null);
 }
コード例 #14
0
ファイル: ThreadCachePool.cs プロジェクト: huchao007/bbsmax
 private static void GetCacheType(ThreadOrderType orderType, out CacheTime? cacheTime, out CacheExpiresType expiresType, out int? minute)
 {
     minute = null;
     switch (orderType)
     {
         case ThreadOrderType.AllForumTopWeekViewThreads:
         case ThreadOrderType.ForumTopWeekViewThreads:
             cacheTime = null;
             minute = AllSettings.Current.CacheSettings.WeekPostCacheTime;
             expiresType = CacheExpiresType.Absolute;
             break;
         case ThreadOrderType.ForumTopDayViewThreads:
         case ThreadOrderType.AllForumTopDayViewThreads:
             cacheTime = null;
             minute = AllSettings.Current.CacheSettings.DayPostCacheTime;
             expiresType = CacheExpiresType.Absolute;
             break;
         case ThreadOrderType.MovedThreads:
             cacheTime = null;
             minute = 20;
             expiresType = CacheExpiresType.Absolute;
             break;
         default:
             cacheTime = CacheTime.Default;
             expiresType = CacheExpiresType.Sliding;
             break;
     }
 }
コード例 #15
0
 public static void Set(string key, object value, int cacheTime, CacheExpiresType cacheExpiresType, CacheDependency dependencies)
 {
     Set(key, value, cacheTime, cacheExpiresType, dependencies, CacheItemPriority.NotRemovable);
 }
コード例 #16
0
 public static void Set(string key, object value, int cacheTime, CacheExpiresType cacheExpiresType)
 {
     Set(key, value, cacheTime, cacheExpiresType, null, CacheItemPriority.NotRemovable);
 }