根据 MSDN:“每个应用程序域创建此类的一个实例,只要应用程序域保持活动状态,它就保持有效。有关此类实例的信息可通过对象的 Cache属性HttpContext
或目的。”Cache
Page
据我所知,HttpContext
对象Page
生命对单个 http 请求有效。那么当我不能将缓存属性(数据缓存)用于另一个请求时,它有什么用呢?
MSDN 是正确的:HttpContext.Cache
为您的整个应用程序生命周期而存在,而不仅仅是在请求中。
HttpContext
每个请求的生命周期是正确的,但是Cache
对象在整个应用程序生命周期中都存在。该框架确保在为您Cache
创建时分配正确的实例HttpContext
。
HttpContext
并且Page
可能仅在请求的基础上有效。然而,缓存位于应用程序级别。仅仅因为您可以使用 Cache 访问对象 HttpContext
,Page
并不意味着它们具有相同的寿命。