zoukankan      html  css  js  c++  java
  • 使用APPLICATION制作缓存,转存一下,有一段写的还可以。

     public sealed class CacheManager
       {
         private HttpApplicationState appPool = null;
         /// <summary>
         /// 构造函数
         /// </summary>
         public CacheManager()
         {
           this.appPool = HttpContext.Current.Application;
         }
         /// <summary>
         /// 构造函数
         /// </summary>
         /// <param name="application">HttpApplicationState 对象</param>
         public CacheManager(HttpApplicationState application)
         {
           this.appPool = application;
         }
         /// <summary>
         /// 删除缓存
         /// </summary>
         /// <param name="key">缓存名称</param>
         public void Delete(string key)
         {
           this.appPool.Lock();
           this.appPool.Remove(key);
           this.appPool.Remove(key + "(expTime)");
           this.appPool.UnLock();
         }
         /// <summary>
         /// 添加缓存
         /// </summary>
         /// <param name="key">缓存名称</param>
         /// <param name="value">缓存值</param>
         /// <returns></returns>
         public bool Add(string key, object value)
         {
           try
           {
             this.appPool.Lock();
             this.appPool[key] = value;
             this.appPool[key + "(expTime)"] = DateTime.MaxValue; // 这里设置一个最大时间值,直到Application结束。
             this.appPool.UnLock();
           }
           catch
           {
             return false;
           }
           return true;
         }
         /// <summary>
         /// 添加缓存
         /// </summary>
         /// <param name="key">缓存名称</param>
         /// <param name="value">缓存值</param>
         /// <param name="expireTime">有效时间</param>
         /// <returns></returns>
         public bool Add(string key, object value, DateTime expireTime)
         {
           try
           {
             this.appPool.Lock();
             this.appPool[key] = value;
             this.appPool[key + "(expTime)"] = expireTime;
             this.appPool.UnLock();
           }
           catch
           {
             return false;
           }
           return true;
         }
         /// <summary>
         /// 获取缓存
         /// </summary>
         /// <param name="key">缓存名称</param>
         /// <returns></returns>
         public object Get(string key)
         {
           object o = this.appPool.Get(key + "(expTime)");
           if (o != null)
           {
             TimeSpan ts = (TimeSpan)(DateTime.Now - (DateTime)o);
             if (ts.TotalSeconds < 0)
             {
               return this.appPool.Get(key);
             }
             else
             {
               this.Delete(key);
               return null;
             }

  • 相关阅读:
    MySQL整理碎片
    华为云容器引擎 单实例模式部署 NACOS DOCKER
    NACOS DOCKER 官方镜像启动失败 No Datasource set
    nginx docker官方镜像使用自定义启动命令启动失败
    windows docker desktop配置国内镜像仓库
    SAP AUFM 针对订单的货物移动
    css 子元素margin-top影响了父元素
    HighCharts 嵌套仪表盘
    JAVA 使用JCO3调用SAP RFC函数
    线下WINDOWS主机挂载华为云存储
  • 原文地址:https://www.cnblogs.com/upshania/p/3540174.html
Copyright © 2011-2022 走看看