现在的位置: 首页 > 综合 > 正文

Cache,ViewState,Session,Application,Static变量

2011年07月20日 ⁄ 综合 ⁄ 共 498字 ⁄ 字号 评论关闭

在ASP.NET中用于跨页面存储与传递数据的类有标题中所示的几种,今天因为在一个站点中对Cache的作用范围理解错误,导致了加班,所以特意写个小程序对他们进行测试.

写了一个小程序来对这些程序进行一个测试,发现:

Session,ViewState,都属于是页面级的变量,就是说每个客户端都对应着一个不同的实例,互相之间的操作不会有影响.ViewState又是只对某个页面起作用,和下面的static变量很象,并且只有能够序列化的对象才能放入ViewState中,这点在自己写类的时候要注意!
Application,Cache,static,都是属于应用程序级的变量,就是说在整个WEB站点不管有多少用户连接,都共享这一个实例.无论谁的操作,都可能导致别的用户取到错误的结果.
其中static又与另两个有所不同,Application和Cache是不管你在哪个页面,都可以访问,而static只在声明他的页面起作用!如果你声明在实现了HttpHandler的类中,而所有的页面又从你自己写的这个类中继承,那就和Application几乎没什么区别了!

因此,Cache只适合存放应用程序级的配置信息等!

抱歉!评论已关闭.