国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET中Session丟失原因與解決方案小結

2024-07-10 13:12:31
字體:
來源:轉載
供稿:網友

最大的網站源碼資源下載站,

win2003 server下的iis6默認設置下對每個運行在默認應用池中的工作者進程都會經過20多個小時后自動回收該進程,造成保存在該進程中的session丟失。

因為session,application等數據默認保存在運行該web應用程序的工作者進程中,如果回收工作者進程,則會造成丟失。

解決辦法:

修改配置,設置為不定時自動回收該工作者進程,比如設置為當超出占用現有物理內存60%后自動回收該進程。通過使用默認應用程序池,可以確保多個應用程序間互相隔離,保證由于一個應用程序的崩潰不會影響另外的web應用程序。還可以使一個獨立的應用程序運行在一個指定的用戶帳號特權之下。

如果使用stateserver方式或者sql server數據庫方式來保存session,則不受該設置的影響。

可能的原因2

系統要運行在負載平衡的 web 場環境中,而系統配置文件web.config中的session狀態卻設置為inproc(即在本地存儲會話狀態),導至在用戶訪問量大時,session常經超時的情況。引起這個現象的原因主要是因為用戶通過負載平衡ip來訪問web應用系統,某段時候在某臺服務器保存了session的會話狀態,但在其它的web前端服務器中卻沒有保存session的會話狀態,而隨著并發量的增大,負載平衡會當作路由隨時訪問空閑的服務器,結果空閑的服務器并沒有之前保存的session會話狀態。

解決辦法

1.當您在負載平衡的 web 場環境中運行 asp.net web 應用程序時,一定要使用 sqlserver 或 stateserver 會話狀態模式,在項目中我們基于性能考慮并沒有選擇sqlserver模式來存儲session狀態,而是選擇一臺sessionstateserver 服務器來用戶的session會話狀態。我們要在系統配置文件web.config中設置如下:

<sessionstate mode="stateserver" cookieless="false" timeout="240" stateconnectionstring="tcpip=192.168.0.1:42424" statenetworktimeout="14400" />

還要添加一項

<machinekey validationkey="78ae3850338bfadce59d8ddf58c9e4518e7510149c46142d7aad7f1ad49d95d4" decryptionkey="5fc88dfc24ea123c" validation="sha1"/> 

2. 我們同時還要在sessionstateserver 服務器中啟動asp.net state service服務,具體設置:控制面板>>管理工具>>服務>>asp.net state service,把它設為自動啟動即可。 

3. 每臺前端web服務的microsoft“internet 信息服務”(iis)設置

要在 web 場中的不同 web 服務器間維護會話狀態,microsoft“internet 信息服務”(iis) 配置數據庫中 web 站點的應用程序路徑(例如,/lm/w3svc/2)與 web 場中所有 web 服務器必須相同。大小寫也必須相同,因為應用程序路徑是區分大小寫的。在一臺 web 服務器上,承載 asp.net 應用程序的 web 站點的實例 id 可能是 2(其中應用程序路徑是 /lm/w3svc/2)。在另一臺 web 服務器上,web 站點的實例 id 可能是 3(其中應用程序路徑是 /lm/w3svc/3)。因此,web 場中的 web 服務器之間的應用程序路徑是不同的。我們必須使web 場web 站點的實例 id 相同即可。你可以在iis中把某一個web配置信息保存為一個文件,其他web 服務器的iis配置可以來自這一個文件。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沛县| 额尔古纳市| 双牌县| 河池市| 含山县| 于都县| 义马市| 永昌县| 西吉县| 临沂市| 宁南县| 包头市| 奉节县| 永定县| 武乡县| 巴林右旗| 凭祥市| 龙胜| 龙里县| 株洲市| 汪清县| 格尔木市| 滕州市| 怀宁县| 定远县| 怀远县| 涞水县| 龙游县| 台州市| 林甸县| 耒阳市| 梓潼县| 定州市| 察雅县| 雷山县| 无棣县| 韩城市| 和平区| 集贤县| 莱州市| 东宁县|