繁体   English   中英

使ASP.NET中的缓存对象无效

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM