Thursday, December 5, 2013
ASP.NET保存session state(会话状态)有三种模式:In-Process, State Server, SQL
Server。
SQL Server模式的优点:
即使web
application重启,状态数据也会被保存
多个web服务器可以共享状态数据
节省内存
设置:
在web.config中,使用mode=”SQLServer”,例如:
<configuration>
<system.web>
<sessionState
mode="SQLServer"
sqlConnectionString="Integrated Security=SSPI;data
source=SampleSqlServer;" />
</system.web>
</configuration>
当然,仅仅这样是不够的,还需要运行aspnet_regsql.exe,使用向导即可
但是,还不够,必须在工作的SQL数据库上执行InstallSqlState.sql脚本!
好了!状态数据将被保存到指定数据库上。
如果查看数据库,自动生成了ASPState数据库,竟然没有数据。为什么?原来,ASPState只有存储过程,数据被保存在tempdb中!