Session【常見問題請見下圖】

常見Session丟失緣由】程序員

      一、Session超時,用戶打開頁面,頁面長時間不操做會致使此緣由數據庫

      二、IIS應用程序池回收,或者重啓瀏覽器

      三、Web.Config修改,即IIS應用程序池重啓緩存

      四、dll被替換或者動態頁面修改,即IIS應用程序池重啓cookie

      五、殺毒軟件對.config文件進行掃描,可能會致使IIS應用程序池回收less

      六、用戶瀏覽器禁用cookiespa

      七、其餘緣由blog

      其餘緣由有點不負責,可是好多程序員沒法查明是什麼緣由致使Session丟失,但Session丟失我歸結爲兩大類,一個是數據的Key丟了,一個是Session內容數據庫的丟了,你們這樣就好理解了,用戶瀏覽器禁用cookie必定是Key沒了。IIS應用程序池回收一定會致使Session的內容緩存表丟失,固然還有一些其餘緣由。進程

解決Session丟失的漫長路io

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

          一、InProc:將Session存到進程內。

          二、StateServer:將Session存到獨立的狀態服務中(Asp.Net State Service)。

          三、SqlServer:將Session存到SqlServer中。

          四、Cookieless:設置客戶端Session存儲的方式。

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

     還有個這個Custom自定義模式,你們不要還停留在非開源模式下解決問題的思想,找找開源項目,必定能找到的,有人說ASP.NET上哪裏找開源啊,很是簡單NuGet,若是想了解開源,必定要學會使用NuGet。

相關文章
相關標籤/搜索