作者: Scott 答应了。
将System.Web添加到非web项目是一种让人们恐慌的好方法。另一个是在Microsoft.VisualBasic应用程序中添加对C#的引用。不过,两者都是合理的,也是非常有用的。
MSDN 说不.
缓存类不适合在ASP.NET应用程序之外使用。它是为在ASP.NET中使用来为Web应用程序提供缓存而设计和测试的。在其他类型的应用程序中,例如控制台应用程序或Windows应用程序,ASP.NET缓存可能无法正常工作。
那我该怎么想?
发布于 2008-10-01 20:35:55
我曾经使用过它,但是它感觉不对,IIRC大大增加了内存占用。相反,我实现了自己的轻量级缓存机制,这是令人惊讶的容易做到的。
它使用了WeakReference类,它允许缓存保持对对象的引用,但也允许垃圾收集器在引用未使用时回收内存。
我唯一没有的是一个单独的线程来清理缓存中陈旧的项目。我所做的是,如果缓存中包含>x项,则在添加新项之前,我将遍历所有缓存的项并清除旧项。
如果您需要更健壮的东西,请使用类似于缓存应用程序块之类的工具。
https://stackoverflow.com/questions/158703
复制相似问题