成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

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

2010-08-28 10:51:01來源:西部e網作者:

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

關鍵詞:ASP.NET

贊助商鏈接:

主站蜘蛛池模板: 葫芦岛市| 哈密市| 安化县| 花莲县| 祁阳县| 东光县| 当涂县| 册亨县| 吐鲁番市| 安顺市| 贵港市| 沐川县| 襄城县| 西青区| 渭南市| 固始县| 通江县| 湘潭县| 兴隆县| 宝山区| 自贡市| 泰州市| 荣昌县| 永胜县| 崇明县| 重庆市| 永川市| 忻城县| 福安市| 政和县| 泽普县| 凤翔县| 大关县| 洞头县| 四平市| 奉节县| 连云港市| 阿合奇县| 南昌县| 宝应县| 星子县|