通常,我有一个读写HttpContext.Current.Cache
的静态类
但是,自从将线程添加到我的项目中以来,当尝试检索此对象时,所有线程都会得到空引用异常。
有没有其他方法可以访问它,变通方法或其他我可以使用的缓存?
发布于 2010-03-13 09:21:07
System.Web.Cache
对象本身是线程安全的。
问题是如何以一种在整个应用程序中都有效的方式获得对它的引用。除非在处理ASP.NET请求的线程上调用HttpContext.Current
,否则它将返回null。获取Cache
的另一种方法是通过静态属性System.Web.HttpRuntime.Cache
。这将避免HttpContext
出现问题。
发布于 2010-03-13 08:25:53
如果你的项目是一个ASP.NET项目,那么在你“添加线程”之前它就已经是多线程的了。
在引用HttpContext.Current.Cache
之前,检查HttpContext.Current
是否为非空。
此外,请发布您收到的完整异常,并向我们展示引用缓存的代码。
https://stackoverflow.com/questions/2436681
复制相似问题