[英]Invalidating a cache object in ASP.NET
我正在维护一个应用程序,其中开发人员已通过以下方式使用了数据缓存:
HttpContext.Current.Cache["key"] = myDataSet;
他没有指定此缓存何时失效。 myDataSet
是数据库中SELECT的结果。 数据库已更新,但是缓存没有失效。 我不想更改源代码。 我只是想使其无效。 我没有运气尝试过iisreset
。
如果重新保存web.config
,则与iisreset
相比,应用程序池将更优雅地回收,缓存的结果相同。
如果您不能更改代码,该解决方案将变得有些脏(干净的方法是使用SqlCacheDependency)。
您可以更改Global.asax.cs吗(尽管它也是源代码)? 您可以从此处访问HttpContext并清空代码中的缓存。
iisreset应该起作用。 每当从内存中卸载ASP.Net应用程序时,它将清除所有服务器管理的Session数据。 即使只是触摸web.config也应卸载该应用程序。
iisreset
确实起作用了! 当IE缓存数据集时,我没有注意到更改。 因此,原始问题并不完全准确。
谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.