IIS7提供5种Session模式:
1.Off模式
2.InProc模式
IIS7的默认方式,IIS工作进程(w3wp.exe)负责Session内存的管理工作,运行速度快但增加IIS的压力,web.config中配置如下:
- <configuration>
- <system.web>
- <sessionState mode="InProc" />
- </system.web>
- </configuration>
3.StateServer模式
鉴于InProc模式,分离出一个单独的Session服务进程(aspnet_state.exe),默认情况下,此服务没有启动。
Session服务可以为本机的IIS提供服务,也可以为远程的IIS提供服务。当提供本机服务时,网站可以支持运行Web Garden(什么玩意?得google一下);当提供远程服务时,web.config中配置如下:
- <sessionState mode="StateServer" stateConnectionString="
- tcpip=x.x.x.x:42424" />
4.SqlServer模式
SqlServer模式是将Session数据存储在SqlServer中,即使aspnet_state.exe进程被回收,Session数据仍可以存在,并提供良好的可伸缩性。
5.Custom模式
Custom模式可以将Session数据存储在其它的数据库(如access或oracle等)中,还需要实现一个自定义的数据提供程序Providers,并在web.config中配置使用。
参考资料:
1.《IIS7开发与管理完全参考手册》 会话状态 p224-p225
2.IIS7 会话状态(Session State) http://kb.cnblogs.com/a/1660740/
本文转自 彭金华 51CTO博客,原文链接:http://blog.51cto.com/pengjh/565325