• 初学C#和MVC的一些心得,弯路,总结,还有教训(4)--Cache 关于创建多个缓存实例


    asp.net中的数据缓存可以用 HttpRuntime.Cache ,这个是大家都知道的,但如果缓存的数据比较多,又比较杂乱,想要把缓存分开管理(也就是创建多个缓存实例)应该怎么做呢。。。

    于是常规做法来了

    using System.Web.Caching;
    
        public static class MyCache 
        {
            public static Cache cache = new Cache();
    
        }

    不用说也知道,肯定跑不起来,不然也不会有这篇文章了,使用的时候对新建的 MyCache.cache 的任何操作都会提示 “System.NullReferenceException”类型的异常在 System.Web.dll 中发生,但未在用户代码中进行处理  错误。于是郁闷了半天,各方查找,终于找到了解决方法。

    演练:在 ASP.NET 应用程序中使用多个缓存对象

    http://msdn.microsoft.com/zh-cn/library/ff919782

    MSDN上说 ObjectCache 类提供了一个内存中对象缓存。

    注意
    ObjectCache 类替代了早期版本的 ASP.NET 中使用的 Cache 类。 在 ASP.NET 4 中,实现缓存的首选方式是使用 ObjectCache 类。

    具体的例子大家可以去看MSDN的演练,只是例子代码中他们是这样写的   ObjectCache cache = MemoryCache.Default; 这样新声明出来的cache 会被指向同一个 Default 实例,如果我们要创建多个实例,可以这样来做

    using System.Runtime.Caching; //注意,这个命名空间可能需要手动引用一下
    
        public static class MyCache 
        {
            public static ObjectCache cache = new MemoryCache("cache1");
      }

      实例化 MemoryCache 的时候还有个 config 参数,具体的msdn上也有说明,这里只是做个小小记录,就不啰嗦了。

  • 相关阅读:
    【codeforces 785B】Anton and Classes
    【codeforces 785C】Anton and Fairy Tale
    【t003】string
    【BZOJ 1028】[JSOI2007]麻将
    【t011】最小覆盖子串
    【BZOJ 1029】[JSOI2007]建筑抢修
    cgb2008-京淘day02
    抽象类与接口概念及代码实例
    【hihocoder 1296】数论三·约瑟夫问题
    【hihocoder 1295】Eular质数筛法
  • 原文地址:https://www.cnblogs.com/ssboy/p/4176834.html
Copyright © 2020-2023  润新知