天天看點

Session【常見問題請見下圖】

Session【常見問題請見下圖】

【常見Session丢失原因】

      1、Session逾時,使用者打開頁面,頁面長時間不操作會導緻此原因

      2、IIS應用程式池回收,或者重新開機

      3、Web.Config修改,即IIS應用程式池重新開機

      4、dll被替換或者動态頁面修改,即IIS應用程式池重新開機

      5、防毒軟體對.config檔案進行掃描,可能會導緻IIS應用程式池回收

      6、使用者浏覽器禁用cookie

      7、其他原因

      其他原因有點不負責,但是好多程式員無法查明是什麼原因導緻Session丢失,但Session丢失我歸結為兩大類,一個是資料的Key丢了,一個是Session内容資料庫的丢了,大家這樣就好了解了,使用者浏覽器禁用cookie一定是Key沒了。IIS應用程式池回收必定會導緻Session的内容緩存表丢失,當然還有一些其他原因。

解決Session丢失的漫長路

      解決過Session丢失的都會用到這幾種方法

          1、InProc:将Session存到程序内。

          2、StateServer:将Session存到獨立的狀态服務中(Asp.Net State Service)。

          3、SqlServer:将Session存到SqlServer中。

          4、Cookieless:設定用戶端Session存儲的方式。

     用了這些方法之後,有的是該丢還丢,有的是穩定了速度卻慢了。

     還有個這個Custom自定義模式,大家不要還停留在非開源模式下解決問題的思想,找找開源項目,一定能找到的,有人說ASP.NET上哪裡找開源啊,非常簡單NuGet,如果想了解開源,一定要學會使用NuGet。

轉載于:https://www.cnblogs.com/Yue0327/p/6530259.html