web.config中session的配置
2012-09-04 21:02 云梓飞鱼 阅读(261) 评论(0) 收藏 举报<configuration>
<system.web>
<sessionState>
<sessionState mode="Off|InProc|StateServer|SQLServer"
cookieless="true|false"
timeout="number of minutes"
stateConnectionString="tcpip=server:port"
sqlConnectionString="sql connection string"
stateNetworkTimeout="number of seconds"/>
必要屬性
mode 指定儲存工作階段狀態的位置。
Off 指示不啟用工作階段狀態。
InProc 指示在本機儲存工作階段狀態。
StateServer 指示在遠端伺服器儲存工作階段狀態。
SQLServer 指示在 SQL Server 儲存工作階段狀態。
選擇性屬性
cookieless 指定是否應該使用不含 Cookie 的工作階段來識別用戶端工作階段。
TRUE 指示應該使用不含 Cookie 的工作階段。
FALSE 指示不應該使用不含 Cookie 的工作階段。預設為 false。
timeout 指定在棄置工作階段之前工作階段可閒置 (Idle) 的分鐘數。預設值是 20。
stateConnectionString 指定在遠端儲存工作階段狀態的伺服器名稱和連接埠。例如,「tcpip=127.0.0.1:42424」。當 mode 是 StateServer 時就需要這個屬性。
sqlConnectionString 指定 SQL Server 的連接字串。例如,「data source=localhost;Integrated Security=SSPI;Initial Catalog=northwind」。當 mode 是 SQLServer 時就需要這個屬性。
stateNetworkTimeout 在使用 StateServer 模式儲存工作階段狀態時,指定在放棄工作階段前,Web 伺服器和狀態伺服器之間的 TCP/IP 網路連接可以閒置多少秒。預設值是 10。
備註
使用 StateServer 模式
確定已在將儲存工作階段狀態資訊的遠端伺服器執行 ASP.NET 狀態服務。這項服務是用 ASP.NET 安裝的,而且根據預設會位於 <Drive>:\systemroot\Microsoft.NET\Framework\version\aspnet_state.exe。
在應用程式的 Web.config 檔案中,設定 mode=StateServer 和設定 stateConnectionString 屬性。例如,stateConnectionString="tcpip=dataserver:42424"。
使用 SQLServer 模式
在執行 SQL Server 且將會儲存工作階段狀態的電腦上,執行 InstallSqlState.sql (根據預設會安裝於 <Drive>:\systemroot\Microsoft.NET\Framework\version)。如此會建立稱為
ASPState 的資料庫,其中具有新的預存程序,且 ASPStateTempApplications 和 ASPStateTempSessions 資料表在 TempDB 資料庫中。
在應用程式的 Web.config 檔案中,設定 mode=SQLServer 和設定 sqlConnectionString 屬性。例如,sqlConnectionString="data source=localhost;Integrated Security=SSPI;Initial Catalog=northwind"。
範例
下列範例指定幾種工作階段狀態組態設定。
<configuration>
<system.web>
<sessionState mode="InProc"
cookieless="true"
timeout="20"/>
</sessionState>
</system.web>
</configuration>