ASP.NET 工作階段狀態支援數種不同的工作階段資料儲存選項。每個選項是由 SessionStateMode列舉型別中的值識別。
sessionState可以設置以下的參數,開發者可以在web.config裡,依照下面的方式進行調整。
1.InProc(預設): InProc的模式是將物件直接存放在執行ASP.NET那個Process的記憶體區塊中(IIS5是aspnet_wp.exe,而IIS6是W3wp.exe),在某些事件發生時,Process會重新啟動。在web.config的設定:
sessionState可以設置以下的參數,開發者可以在web.config裡,依照下面的方式進行調整。
1.InProc(預設): InProc的模式是將物件直接存放在執行ASP.NET那個Process的記憶體區塊中(IIS5是aspnet_wp.exe,而IIS6是W3wp.exe),在某些事件發生時,Process會重新啟動。在web.config的設定:
<configuration>
<system.web>
<sessionState mode="InProc" timeout="20" cookieless="UseCookies">
</sessionState>
</system.web>
</configuration>
2.StateServer: 本機的一個服務,在系統服務裡服務名為ASP.NET State Service。當設定mode為StateServer之後,要在服務那邊手動將該服務啟動。在web.config的設定:
<configuration>
<system.web>
<sessionState mode="StateServer" timeout="500"
stateConnectionString="tcpip=127.0.0.1:42424"/>
</system.web>
</configuration>
(1.)新增 ASPState 資料庫:進入命令模式視窗輸入 aspnet_regsql.exe -S ServerName -E -ssadd -sstype p
(2.)如果要移除:進入命令模式視窗輸入aspnet_regsql.exe -S ServerName -E -ssremove
(3.)在web.config的設定:
<configuration>
<system.web>
<sessionState mode="SQLServer"
sqlCommandTimeout="30"
sqlConnectionString="data source=localhost;Integrated
Security=SSPI">
</sessionState>
</system.web>
</configuration>
4.Custom模式: 此模式可讓您指定自訂儲存提供者 (Provider)。
5.Off模式: 此模式會停用工作階段狀態。
開發者可以在應用程式的 Web.config檔中,將 SessionStateMode列舉值指派給 sessionState項目的 mode屬性(Attribute), 而 IIS會依據 mode屬性決定了 Session儲存的位置,除了 InProc和 Off 以外的模式都需有其他參數(例如連接字串值)。可以透過 System.Web.SessionState.HttpSessionState.Mode 屬性值,以檢視目前選取的工作階段狀態。
-雲遊山水為知已逍遙一生而忘齡- 電腦神手
沒有留言:
張貼留言