ASP.NET服务器端缓存生命周期?

时间:2010-07-02 13:39:41

标签: asp.net caching ashx

我编写了一个小的ASHX处理程序,它使用了一个小的状态对象,我想在一系列请求的生命周期中保留它。我让处理程序将对象放在服务器端缓存(HttpContext.Current.Cache)中,并在ProcessRequest的开头检索它。

我可以期待该对象保留在缓存中多长时间?我希望处理程序实例能够来去,所以我想要在所有这些实例中持续存在(直到不再需要由请求本身决定)。但是,如果我有处理程序写入应用程序日志时必须创建一个新的状态对象,因为它不在缓存中,我看到它创建它2-3次。

1 个答案:

答案 0 :(得分:2)

您可以在add the item to the cache时指定生命周期和优先级。

不保证项目在整个请求的生命周期内保留在缓存中。例如,如果存在内存压力,则可能会清除缓存,但为项目设置更高的优先级会使其更有可能保留在缓存中。