我已经编写了一个小的ASHX处理程序,它使用一个小的状态对象,我希望在一系列请求的生命周期中保持该状态对象。我让处理程序将对象放在服务器端缓存(HttpContext.Current.Cache)中,并在ProcessRequest开始时检索它。
我可以期望对象在缓存中保留多长时间?我希望处理程序实例来来去去,所以我希望所有处理程序实例都能持久化(直到请求本身决定不再需要它为止)。然而,如果我让处理程序在应用程序日志中写入,因为它不在缓存中,所以它必须创建一个新的状态对象,我看到它创建了2-3次。
发布于 2010-07-02 21:42:53
您可以在add the item to the cache时指定生存期和优先级。
不能保证一个项在请求的整个生命周期内都会留在缓存中。例如,如果存在内存压力,则缓存可能会被清除,但为项目设置更高的优先级会使其更有可能保留在缓存中。
https://stackoverflow.com/questions/3166154
复制相似问题