HttpContext.Current.Cache vs. HttpRuntime.Cache
来源:互联网 发布:英虎网络 编辑:程序博客网 时间:2024/04/30 07:09
.NET中Cache有两种调用方式:HttpContext.Current.Cache 和 HttpRuntime.Cache,这两种方式有什么区别呢?我们先看MSDN上的解释:
HttpContext.Current.Cache:为当前 HTTP 请求获取Cache对象。
HttpRuntime.Cache:获取当前应用程序的Cache。
我们再用.NET Reflector工具看看HttpContext.Cache和HttpRuntime.Cache的实现:
通过上面的代码我们可以看出:HttpContext.Current.Cache是调用HttpRuntime.Cache实现的,两者指向同一Cache对象。那么两者到底有没有区别的?既然两个指向的是同一Cache对象,两者的差别只能出现在HttpContext和HttpRuntime上了。我们再来看看MSDN中HttpContext和HttpRuntime的定义。
HttpContext:封装有关个别HTTP请求的所有HTTP特定的信息,HttpContext.Current为当前的HTTP请求获取HttpContext对象。
HttpRuntime:为当前应用程序提供一组ASP.NET运行时服务。
由上面的定义可以看出:HttpRuntime.Cache相当于就是一个缓存具体实现类,这个类虽然被放在了System.Web命名空间下,但是非Web应用下也是可以使用;HttpContext.Current.Cache是对上述缓存类的封装,由于封装到了HttpContext类中,局限于只能在知道HttpContext下使用,即只能用于Web应用。
下面的例子可以很好的说明这一点:
输出结果:httpRuntimeCache:I am stored in HttpRuntime.Cache
HttpContext object is null in Console Project
综上:我们在使用Cache时,尽量使用HttpRuntime.Cache,既能减少出错,也减少了一次函数调用。
- HttpRuntime.Cache vs. HttpContext.Current.Cache
- HttpRuntime.Cache vs. HttpContext.Current.Cache
- HttpRuntime.Cache vs. HttpContext.Current.Cache
- HttpContext.Current.Cache vs. HttpRuntime.Cache
- HttpContext.Current.Cache vs. HttpRuntime.Cache
- HttpContext.Current.Cache vs. HttpRuntime.Cache
- HttpRuntime.Cache vs. HttpContext.Current.Cache
- HttpContext.Current.Cache vs. HttpRuntime.Cache
- HttpContext.Current.Cache vs. HttpRuntime.Cache
- HttpContext.Current.Cache 和 HttpRuntime.Cache
- HttpContext.Current.Cache 和 HttpRuntime.Cache
- HttpContext.Current.Cache 和 HttpRuntime.Cache
- Cache及(HttpRuntime.Cache与HttpContext.Current.Cache)
- System.Web.HttpContext.Current.Cache 与System.Web.HttpRuntime.Cache
- HttpContext.Current.Cache 和HttpRuntime.Cache的区别
- HttpContext.Current.Cache 和HttpRuntime.Cache的区别
- HttpContext.Current.Cache 和HttpRuntime.Cache的区别
- HttpContext.Current.Cache 与HttpRuntime.Cache的区别
- 图像逆滤波与维纳滤波的程序代码
- 初来
- MOSS 2010:列表编辑变得更加容易
- LINUX下如何判断CPU和系统是32位还是64位
- MOSS 2010:通过SharePoint Designer定制列表项的条件格式
- HttpContext.Current.Cache vs. HttpRuntime.Cache
- MOSS 2010:为视图添加参数显示的功能
- Installation instructions for the ThinkPad SL400
- 重新生成hdlist方法!
- SQL操作全集
- MOSS 2010:如何为列表设计Infopath表单用于编辑和显示
- eclipse启动参数配置简介
- [转]Ubuntu下Eclipse的安装
- Android 数据存储之四ContentProvider(转http://blog.163.com/sikaodelang@126/blog/static/164107300201051124810430/)