我正在维护一个应用程序,开发人员使用以下方式使用数据缓存:
HttpContext.Current.Cache["key"] = myDataSet;
他没有指定此缓存何时失效。 myDataSet
是数据库中SELECT的结果。数据库已更新,但缓存未失效。我不想更改源代码。我只想让它无效。我试了iisreset
没有运气。
答案 0 :(得分:3)
如果您重新保存web.config
,则应用程序池将比iisreset
更优雅地回收,并且缓存的结果相同。
答案 1 :(得分:1)
如果你不能改变代码,那么解决方案会有点脏(干净的方法是使用SqlCacheDependency)。
你能改变Global.asax.cs(虽然它也是源代码)吗?您可以从此处访问HttpContext并清空代码中的缓存。
答案 2 :(得分:1)
iisreset应该有用。每当ASP.Net应用程序从内存中卸载时,它将清除任何服务器管理的会话数据。即使只是触摸web.config也应该卸载应用程序。
答案 3 :(得分:0)
iisreset
确实有效!当IE缓存数据集时,我没有注意到这些变化。所以,原来的问题并不完全准确。
由于