我将这个通用列表缓存在内存中。如何在测试期间手动从缓存中释放该对象?我清除了浏览器上的缓存,但是当我刷新时,我得到相同的产品集,因为它在我的数据库检索方法中检查我的缓存对象。
答案 0 :(得分:3)
您将浏览器的缓存(在客户端计算机上)与服务器端缓存混淆。
答案 1 :(得分:2)
尝试使用Cache.Remove()方法从ASP.NET缓存中删除对象:
Cache.Remove("CacheKey");
由于缓存的项目保存在服务器的内存中,因此无法通过清除浏览器缓存来清除应用程序缓存。
答案 2 :(得分:0)
您的数据库检索方法正在服务器上运行,这与浏览器缓存无关(这就是为什么清除浏览器缓存不会做任何事情)。
您的问题不太清楚,但我假设您正在使用ASP.Net Cache对象进行缓存。
您需要在数据库检索方法中添加一些代码来刷新ASP.net缓存中的项目。如果您可以发布您拥有的代码,这将有所帮助,但基本上它看起来像:
var data = DatabaseFetchStuff....
Cache["databaseInfoKey"] = data;
答案 3 :(得分:0)
coffeeaddict您需要实施缓存过期和删除,以便您的应用使用更新的数据。如果您正在使用自己的缓存实现,请确保每次更新持久缓存数据时都会使缓存的数据无效,因此下次您请求它时,它将上升到完整路径并再次将其缓存在内存中。