SessionState stateConnectionString和sqlConnectionString

时间:2011-10-19 07:22:50

标签: c# .net asp.net vb.net sql-server-2008

我们希望在SQL Server中存储会话。我们有sessionState mode =“SQLServer”。我已经获得了一个示例连接字符串,如下所示。在这里它有stateConnectionString和sqlConnectionString。

问题:当mode =“SQLServer”时,为什么我们需要stateConnectionString?

<sessionState mode="SQLServer" 
cookieless="false" timeout="20" 
stateConnectionString="tcpip=XXX.XX.XXX.XXX:42424" 
sqlConnectionString="data source=XXX-FFFF-sql2k8,2025;
Initial   Catalog=AspState_XX_3_0;user id=XXX;password=XXX" 
allowCustomSqlDatabase="true" 
sqlCommandTimeout="1200"/>

注1: SQLServer模式将会话状态存储在SQL Server数据库中。使用此模式可确保在重新启动Web应用程序时保留会话状态,并使会话状态可供Web场中的多个Web服务器使用。要使用SQLServer模式,必须首先确保SQL Server上安装了ASP.NET会话状态数据库。您可以使用Aspnet_regsql.exe工具

安装ASP.NET会话状态数据库

注意2: StateServer模式将进程中的会话状态存储为ASP.NET状态服务,该进程与ASP.NET辅助进程或IIS应用程序池分开。要使用StateServer模式,必须首先确保ASP.NET状态服务正在用于会话存储的服务器上运行。要在Web场中使用StateServer模式,必须在Web配置的machineKey元素中为Web场中的所有应用程序指定相同的加密密钥。

1 个答案:

答案 0 :(得分:4)

AFAIK,您可以在SQL Server中存储sessionstate时跳过StateConnectionString。

我没有尝试过,但似乎在此确认:http://support.microsoft.com/kb/317604