问题描述
- 为什么在开发中大部分的时候都在用session而Application基本上都不去使用?
-
为什么在开发中大部分的时候都在用session而Application基本上都不去使用?
为什么在开发中大部分的时候都在用session而Application基本上都不去使用?
为什么在开发中大部分的时候都在用session而Application基本上都不去使用?
解决方案
无满意答案,关闭问题。
解决方案二:
session兼程会话,从字面意思就可以看出,只是针对单个会话管用,比如一个用户的登录信息,就缓存在Session中。而Application适用于整个应用程序的,如果程序中需要缓存整个应用的数据,就可以使用Application。Application中的数据所有会话都可以访问得到,而session中的数据只有当前会话才能访问。
解决方案三:
Application用于保存所有用户的公共的数据信息,如果使用Application对象,一个需要考虑的问题是任何写操作都要在Application_OnStart事件(global.asax)中完成.尽管使用Application.Lock和Applicaiton.Unlock方法来避免写操作的同步,但是它串行化了对Application对象的请求,当网站访问量大的时候会产生严重的性能瓶颈.因此最好不要用此对象保存大的数据集合
Session用于保存每个用户的专用信息.她的生存期是用户持续请求时间再加上一段时间(一般是20分钟左右).Session中的信息保存在Web服务器内容中,保存的数据量可大可小.当Session超时或被关闭时将自动释放保存的数据信息.由于用户停止使用应用程序后它仍然在内存中保持一段时间,因此使用Session对象使保存用户数据的方法效率很低.对于小量的数据,使用Session对象保存还是一个不错的选择.