[ASP.NET]状态管理

        HTTP是一种无状态的协议,因此在不同请求之间无法共享状态,然而维护不同请求之间的状态是很有用的。比如购物网站中购物车的实现就要依赖这种状态实现。

       应用程序状态管理

想必很多人对下面的代码段很熟悉:

Application.Lock();
Application["MyGlobalCounter"] =
(int)Application["MyGlobalCounter"] + 1;
Application.UnLock();
Application是HttpApplicationState类的一个实例。
它存在于一个Web应用程序的整个生命周期中。
 
会话状态
在浏览器中第一次请求一个应用程序时,服务器会开启一个会话,
以后的请求都会共享这些会话状态。
这批请求的第一个响应会返回一个SessionID,
以后都会用这个SessionID做为Token访问这次会话的状态。
SessionID的传递方式有两种:
1)Cookie
2)不使用Cookie,而是被插入到URL中传递到服务端。
ASP.NET 支持三种会话状态模式:InProc,StateServer,SQLServer.
 优点缺点
InProc1)从aspnet_wp.exe中直接读取,因此性能最好。

1)aspnet_wp.exe可能会由于多种原因,(比如虚拟目录中的web.config,Bin目录或者内存使用量达到最大里了)被回收。因此具有相当大的不稳定性。
2)不适用于Web Garden部署,更不适用于Web Farm部署。
StateServer1)这种模式下的会话变量存储在一个Windows服务中,独立于IIS,因此不会受IIS工作进程回收机制的影响。
2)适用于Web Garden和Web Farm两种部署模式。
1)存在跨进程或跨机器(因为可以把这个Windows服务部署在另一个服务器上)问题,性能较低。
SQLServer除拥有StateServer模式的1),2)优点外,还有以下优点:
3)更持久
1)性能更低,因为要读SQL Server,反序列等等。

 

参考资料:http://msdn.microsoft.com/en-us/library/87069683(VS.71).aspx

weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值