Session对象,Application对象和ViewState对象都是ASP.NET的重要对象。它们都可以用来保存应用程序的数据,或用来缓存网页的数据。但是它们还是存在下面几点不同之处。
1,Session对象和Application对象是全局性的,在整个应用程序运行后,无论什么时候程序都可以访问Session对象和Application对象;而ViewState对象在一个特定的页面被赋值后,当这个页面被关时,应用程序的其他页面不能使用该ViewState对象相应的值。
2,Session对象是被一个用户独占的,不是站点所有访问用户所共有。每一个访问用户有自己惟一的SessionID,而且Session对象在应用程序之前始终是有效的,在功能上可以和静态变量相似。ViewState对象可以看成某个页面的局部变量。
3,Application对象是站点所有用户所共有的。每一个访问用户都可以访问Application对象。在一些普通论坛的开发中,可以使用Application对象来统计在线的用户访问量,使用Session对象统计访问的总次数。
4,ViewState对象的大量使用可以增加应用程序的开销。如果需要考虑程序的高效率性,则在使用ViewState对象时要特别小心。