使Cache访问方法保持静态

时间:2010-11-12 15:47:51

标签: c# asp.net caching static

在ASP.NET中,有没有理由不从Cache对象Static中创建一组添加/删除/获取的函数?

获取() - 只是获取项目,没有理由不静态
Add(),Remove() - 我已经读过在缓存中添加/删除它有自己的内部锁定机制,因此它们可以是静态的,而不会创建我自己的lock(){}包装。

1 个答案:

答案 0 :(得分:10)

可以通过

在静态上下文中访问它们

HttpRuntime.Cache

HttpContext.Current.Cache的方法无论如何都只是转发到此调用,但如果HttpContext.Current.Cache不在HttpContext.Current可用的生命周期中,则调用public static class StaticCache { public static Add(object obj) { try { HttpRuntime.Cache.Add(obj); } catch(Exception ex) { //log or something } } } 会导致运行时错误。

回答您的问题:

是的,你可以用它来处理这个问题。你会有像

这样的东西
StaticCache.Add("bob");

用法类似于

{{1}}