一、InProc模式(缺省模式)
1
|
<sessionState mode= "InProc"
timeout= "20" ></sessionState>
|
优点:获取session状态的速度快,session状态直接存储在iis的进程中。
缺点:易丢失,经常需要重新登录
二、StateServer模式
1
|
<sessionState mode= "StateServer"
stateConnectionString= "tcpip=127.0.0.1:42424"
></sessionState>
|
注意:1. 这时应先启动 ASP.NET State Service服务
2、session中的对象要序列化
3、.默认端口是42424 可以在如下路径中进行设置端口,也可配置是否进行远程连接(1:允许,0禁止)
?
优点:session状态单独存储在一个进程中,不会因为iis或者应用的重启而丢失状态
缺点:获取session状态的速度比InProc慢一些,空间有限。
三、SQLServer模式
1
|
<sessionState mode= "SQLServer"
sqlConnectionString= "server=127.0.0.1;uid=**;pwd=***" >/sessionState>
|
在C:\Windows\Microsoft.NET\Framework\v4.0.30319路径下(视情况)执行脚本:
临时存储区:InstallSqlState.sql
永久存储区:InstallPersistSqlState.sql
完毕后会在数据库中生成ASPState数据库,同时在Sqlserver代理中会生成一个作业ASPState_Job_DeleteExpiredSessions,用来回收过期的session。
session中的对象要序列化