SQLServer保存ASP.NET Session状态
一、在SQL Server中安装必要数据库表、存储过程等
若要使用 SQL Server,首先在将存储会话状态的 SQL Server 计算机上,运行 InstallSqlState.sql 或 InstallPersistSqlState.sql。两个脚本均创建一个名为 ASPState 的数据库,它包含若干存储过程。
两个脚本间的差异在于放置 ASPStateTempApplications 和 ASPStateTempSessions 表的位置。InstallSqlState.sql 脚本将这些表添加到 TempDB 数据库,该数据库在计算机重新启动时将丢失数据。相反,InstallPersistSqlState.sql 脚本将这些表添加到 ASPState 数据库,该数据库允许在计算机重新启动时保留会话数据。
默认情况下,两个脚本文件均安装在下面的位置:
systemroot/Microsoft.NET/Framework/versionNumber
二、配置web.config
<system.web>
<sessionState mode="SQLServer"
sqlConnectionString="Data Source=DATABASE;Initial Catalog=ASPState;User ID=sa;Password=pass;" allowCustomSqlDatabase="true" sqlCommandTimeout="10" cookieless="false" timeout="1" />
</system.web>
三、使用
a.aspx
<%
Session["t"] = "sasa";
%>
b.aspx
<%
Response.Write(Session["t"]);
%>
四、说明:Session记录会插入到ASPState数据库的ASPStateTempSessions表中,里面的记录存储过程会自动添加删除。