使用 StateServer 保存 Session

StateServer 模式的實質是,把Session 存放在一個單獨的進程裏,此進程獨立於 aspnet_wp.exe 或 w3wp.exe 。啓用此服務後,在“任務管理器”中可以看到一個名爲 aspnet_state.exe 的進程,下面開始說明一下設置的具體步驟:

1、 修改註冊表(關鍵步驟,如下圖)

運行 regedit → 打開註冊表 → 找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/aspnet_state/Parameters 節點 → 將 AllowRemoteConnection 的鍵值設置成“1”(1 爲允許,0 代表禁止)→ 設置 Port (端口號)

注意事項:

a)、若ASP.NET State Service 正在運行,修改註冊表內容後,則需要重新啓動該服務

b)、注意端口號的鍵值是以十六進制儲存的,可以使用十進制進行修改,42424 是默認的端口

c)、AllowRemoteConnection 的鍵值設置成“1”後,意味着允許遠程電腦的連接,也就是說只要知道你的服務端口,就可享用你的ASP.NET State Service,即把 Session 存放在你的電腦進程內,因此請大家慎用;鍵值爲“0”時,僅有stateConnectionString 爲“tcpip=localhost: 42424”與“tcpip=127.0.0.1:42424”的情況,方可使用ASP.NET State Service

2、 開啓 ASP.NET State Service(如下圖)

右鍵點擊“我的電腦”→ 管理 → 服務與應用程序 → 服務 → 雙擊“ASP.NET State Service” → 啓動(可設爲“自動”)

說明:只要安裝了 .Net Framework v1.0/v1.1 ,都擁有此服務。
3、 更改 Web.config

打開 Web.config → 找到 <sessionState> 節點內容

<sessionState

mode=”InProc”

stateConnectionString=”tcpip=127.0.0.1:42424″

sqlConnectionString=”data source=127.0.0.1;Trusted_Connection=yes”

cookieless=”false”

timeout=”20″ />

→ 將其改爲以下內容

<sessionState mode=”StateServer” stateConnectionString=”tcpip=192.168.0.2:42424″ timeout=”20″ />

注意事項:

a)、設成StateServer 後,必須要有對應的stateConnectionString

b)、注意 IP 地址(可以是遠程計算機 IP、計算機名稱、域名)與端口號,端口號需與ASP.NET State Service 的服務端口一致


本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/jingshuaizh/archive/2008/08/21/2805092.aspx

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章