2012年6月22日 星期五

IIS中使用多工作者處理序時,Seesion丟失問題處理

最近在一個ASP.NET站台上,上一個新的功能,裏面有用到Seesion,結果功能時好時

壞的,後來發現是Session丟失的問題,原來站台上是使用多個工作者處理序,造成

Seesion會不穩定,故寫這篇記錄處理流程,以防下次遇到同樣問題。


 1.以IIS 7.5 為例:

     開啟應用程式集區 -> 站台AppPool -> 點擊右鍵選擇"進階設定"

     -> 拉到最下面找到"工作者處理序數上限"

      

2.如果大於1,代表使用多工作者處理序,將SessionState預設模式

   改為StateServer模式(註1)


 作法:

      1.電腦->管理->服務->ASP.NET 狀態服務->點擊右鍵開啟服務

       

      2.設定ASP.NET Webconfig
       

  
    
  



如此Seesion就會存入本機的 ASP.NET 狀態服務中,也就不會丟失Seesion了。


 註1:在ASP.NET的sessionState的三種屬性


參考資料:

    Application Pool中的處理序數目 > 1 + sessionState mode="InProc" = Session會掉

    如何讓 ASP.NET 使用 Session 資料時不要再自動消失

    web.config 中SessionState的配置







沒有留言:

張貼留言