我见过几篇文章/博客文章,主张在不适用于Web的应用程序中使用System.Web.Caching.Cache,但MSDN documentation非常明确地指出
Cache类不适用于ASP.NET应用程序之外。它的设计和测试用于ASP.NET,以便为Web应用程序提供缓存。在其他类型的应用程序中,例如控制台应用程序或Windows窗体应用程序,ASP.NET缓存可能无法正常工作。
文档是错误的,还是我们真的不应该使用这个类?如果是后者,会出现什么问题?我们的平台是Winforms / .NET 3.5。
答案 0 :(得分:6)
如果应用程序不是ASP.NET应用程序,则无法自动删除过期或未使用的Cache对象。因此,如果在ASP.NET外部使用Cache对象,则不会释放为Cache对象保留的系统内存。您无法手动调用内部ASP.NET方法来清理缓存,因为这些方法被标记为内部并供内部使用。因此,您决定在外部应用程序中使用它需要您自担风险。 System.Web.Caching.Cache object
Scott Hanselman有一篇article帖子了解更多详情
答案 1 :(得分:1)
你真的不应该在ASP.NET之外使用它。这是关于其他替代方案的好白皮书:
答案 2 :(得分:0)
文档是正确的,你不能在windows应用程序中使用asp.net缓存。
<强> Cache article 强>