首页 > 代码库 > 初学C#和MVC的一些心得,弯路,总结,还有教训(4)--Cache 关于创建多个缓存实例
初学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上也有说明,这里只是做个小小记录,就不啰嗦了。
初学C#和MVC的一些心得,弯路,总结,还有教训(4)--Cache 关于创建多个缓存实例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。