我们不应该在WinForms应用程序中使用System.Web.Caching.Cache类吗?

Eyv*_*ind 3 .net caching winforms

我看过几篇文章/博客文章,主张在不适用于Web的应用程序中使用System.Web.Caching.Cache,但是,MSDN文档非常明确地指出

Cache类不适用于ASP.NET应用程序之外.它的设计和测试用于ASP.NET,以便为Web应用程序提供缓存.在其他类型的应用程序中,例如控制台应用程序或Windows窗体应用程序,ASP.NET缓存可能无法正常工作.

文档是错误的,还是我们真的不应该使用这个类?如果是后者,会出现什么问题?我们的平台是Winforms/.NET 3.5.

TSt*_*per 6

如果应用程序不是ASP.NET应用程序,则无法自动删除过期或未使用的Cache对象.因此,如果在ASP.NET外部使用Cache对象,则不会释放为Cache对象保留的系统内存.您无法手动调用内部ASP.NET方法来清理缓存,因为这些方法被标记为内部并供内部使用.因此,您决定在外部应用程序中使用它需要您自担风险.System.Web.Caching.Cache对象

斯科特汉塞尔曼有一篇文章发表了更多细节