如何从内存中释放对象

时间:2009-07-17 21:09:04

标签: c# asp.net

我将这个通用列表缓存在内存中。如何在测试期间手动从缓存中释放该对象?我清除了浏览器上的缓存,但是当我刷新时,我得到相同的产品集,因为它在我的数据库检索方法中检查我的缓存对象。

4 个答案:

答案 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您需要实施缓存过期和删除,以便您的应用使用更新的数据。如果您正在使用自己的缓存实现,请确保每次更新持久缓存数据时都会使缓存的数据无效,因此下次您请求它时,它将上升到完整路径并再次将其缓存在内存中。