Ela*_*nda 5 c# asp.net-mvc caching
我一直在读c#3.5中的缓存.有点困惑,并希望澄清详细说明之间的区别
HttpContext.Current.Cachevs HttpRuntime.CachevsSystem.Web.Caching.Cache
此外,我已阅读使用上述任何非Web应用程序不推荐但它的工作原理.有什么缺点?
Ram*_*esh 11
System.Web.Caching.Cache是为Web应用程序实现缓存的类型. HttpContext.Current.Cache只是一个包装和返回HttpRuntime.Cache,它只是一个例子System.Web.Caching.Cache.
更新
请参阅在ASP.NET应用程序外部使用HttpRuntime.Cache可以吗?为你的第二部分.
更新:为什么需要包装HttpRuntime.Cache?
我个人认为,HttpContext是被传递的类型IHttpHandler.ProcessPostBack和HttpApplication暴露HttpContext被传递IHttpModule.Init.这将确保使用Method注入注入所有依赖项.因此,他们引入了一种间接性.
处理程序和模块应该不知道托管它们的HttpRuntime.当你在一个ASP.NET页面,最好是使用this.Page.Cache替代HttpContext.Current.Cache或HttpRuntime.Cache作为使用HttpContext.Current将涉及解决当前线程的开销,HttpRuntime.Cache将创建一个外部依赖.Page.Cache初始化HttpContext.Cache为传递给ProcessRequest
| 归档时间: |
|
| 查看次数: |
10355 次 |
| 最近记录: |