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

首頁 > 開發 > PHP > 正文

Session丟失原因與解決方案小結

2024-05-04 23:03:46
字體:
來源:轉載
供稿:網友

  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中設置如下:

  還要添加一項

  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配置可以來自這一個文件。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平乡县| 邯郸县| 新巴尔虎左旗| 扎赉特旗| 鲁山县| 南京市| 元阳县| 保靖县| 北流市| 酒泉市| 治多县| 广河县| 南京市| 淳化县| 雷波县| 平南县| 儋州市| 东山县| 临泽县| 慈利县| 庆云县| 广南县| 阿拉善右旗| 新丰县| 西峡县| 遂平县| 虎林市| 孟村| 翼城县| 岳西县| 云和县| 乌拉特后旗| 湖口县| 锡林浩特市| 通州区| 龙岩市| 奉新县| 金山区| 陈巴尔虎旗| 江油市| 临泽县|