Esempio n. 1
0
 /// <summary>
 /// 添加缓存(如果缓存键已经存在,则此方法调用无效)
 /// </summary>
 /// <typeparam name="T">类型</typeparam>
 /// <param name="key">缓存键</param>
 /// <param name="value">值</param>
 /// <param name="CacheTimeOption">缓存时间</param>
 /// <param name="CacheExpirationOption">缓存过期时间类别(绝对/弹性)</param>
 public static void Set <T>(string key, T value, CacheTimeOption CacheTimeOption, CacheExpirationOption CacheExpirationOption)
 {
     Set(key, value, CacheTimeOption, CacheExpirationOption, null, CacheItemPriority.NotRemovable, null);
 }
Esempio n. 2
0
 /// <summary>
 /// 添加缓存(如果缓存键已经存在,则此方法调用无效)
 /// </summary>
 /// <typeparam name="T">类型</typeparam>
 /// <param name="key">缓存键</param>
 /// <param name="value">值</param>
 /// <param name="CacheTimeOption">缓存时间</param>
 /// <param name="CacheExpirationOption">缓存过期时间类别(绝对/弹性)</param>
 /// <param name="dependencies">缓存依赖项</param>
 public static void Set <T>(string key, T value, CacheTimeOption CacheTimeOption, CacheExpirationOption CacheExpirationOption,
                            CacheDependency dependencies)
 {
     Set(key, value, CacheTimeOption, CacheExpirationOption, dependencies, CacheItemPriority.NotRemovable, null);
 }
Esempio n. 3
0
        /// <summary>
        /// 获取弹性时间过期时间
        /// </summary>
        /// <param name="CacheTimeOption">缓存的时间长短</param>
        /// <param name="CacheExpirationOption"></param>
        /// <returns></returns>
        private static TimeSpan GetSlidingExpirationTime(CacheTimeOption CacheTimeOption, CacheExpirationOption CacheExpirationOption)
        {
            if (CacheExpirationOption == CacheExpirationOption.AbsoluteExpiration ||
                CacheTimeOption == CacheTimeOption.NotRemovable)
            {
                return(Cache.NoSlidingExpiration);
            }

            return(TimeSpan.FromMinutes((int)CacheTimeOption));
        }
Esempio n. 4
0
 // 主调方法
 /// <summary>
 /// 添加缓存(如果缓存键已经存在,则此方法调用无效)
 /// </summary>
 /// <typeparam name="T">类型</typeparam>
 /// <param name="key">缓存键</param>
 /// <param name="value">值</param>
 /// <param name="CacheTimeOption">缓存的时间长短</param>
 /// <param name="CacheExpirationOption"></param>
 /// <param name="dependencies">缓存依赖项</param>
 /// <param name="cacheItemPriority">优先级</param>
 /// <param name="callback">回调函数</param>
 public static void Set <T>(string key, T value, CacheTimeOption CacheTimeOption, CacheExpirationOption CacheExpirationOption,
                            CacheDependency dependencies, CacheItemPriority cacheItemPriority, CacheItemRemovedCallback callback)
 {
     if (!value.Equals(default(T)) && CacheTimeOption != CacheTimeOption.None)
     {
         DateTime absoluteExpiration = GetAbsoluteExpirationTime(CacheTimeOption, CacheExpirationOption);
         TimeSpan slidingExpiration  = GetSlidingExpirationTime(CacheTimeOption, CacheExpirationOption);
         HttpRuntime.Cache.Add(key, value, dependencies, absoluteExpiration, slidingExpiration, cacheItemPriority, callback);
     }
 }
Esempio n. 5
0
        /// <summary>
        /// 获取绝对日期时间
        /// </summary>
        /// <param name="CacheTimeOption">缓存的时间长短</param>
        /// <param name="CacheExpirationOption"></param>
        /// <returns></returns>
        public static DateTime GetAbsoluteExpirationTime(CacheTimeOption CacheTimeOption, CacheExpirationOption CacheExpirationOption)
        {
            if (CacheExpirationOption == CacheExpirationOption.SlidingExpiration ||
                CacheTimeOption == CacheTimeOption.NotRemovable)
            {
                return(Cache.NoAbsoluteExpiration);
            }

            return(DateTime.Now.AddMinutes((int)CacheTimeOption));
        }