2011-10-19 57 views
2

我們希望將會話存儲在SQL Server中。我們有sessionState模式=「SQLServer」。我已經得到了如下所示的示例連接字符串。在這裏它有stateConnectionString和sqlConnectionString。SessionState 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的工具

注2安裝ASP.NET會話狀態數據庫:在過程StateServer模式存儲會話狀態,被稱爲ASP.NET狀態服務,即從分開ASP .NET工作進程或IIS應用程序池。要使用StateServer模式,您必須首先確保用於會話存儲的服務器上正在運行ASP.NET狀態服務。要在Web場中使用StateServer模式,必須爲您的Web配置的machineKey元素指定相同的加密密鑰,作爲Web場的一部分的所有應用程序。

回答