[英]Setting time for a session to timeout
我知道這個問題在這里已經問了很多,但是人們提供的解決方案似乎都不對我真正有用。 我試圖延長會話在我的網站上保持活動狀態的時間,我嘗試使用以下方法修改web.config:
<sessionState timeout="45"/>
並在后面的代碼中設置Session.Timeout,但是這些功能按預期工作。 我希望使會話盡可能長地持續,但是到目前為止,它們持續約10分鍾,直到我開始遇到問題為止。
如果您的會話狀態設置為InProc,並且您有多個Web服務器或一個Web花園,則您的會話狀態很容易丟失。
有關更多詳細信息,請參見MSDN文檔 。
Asp.Net會話管理有兩種模式。
InProc
會話丟失是此模式下的常見問題。 一段時間后,IIS會繼續回收工作進程,這會導致會話數據丟失。
請查看下面的鏈接以獲取更多信息。
下面的CodeProject文章中有解決此問題的方法。
OutProc
在此會話管理模式下,web.config的設置將正常工作。 請查看下面的鏈接以獲取更多詳細信息。
在WebConfig中:
<configuration>
<system.web>
<sessionstate timeout="20" />
</system.web>
</configuration>
默認情況下為20分鍾。 根據您的需要進行更改。
在IIS中檢查
打開IIS,單擊“應用程序池”。
選擇您的應用程序的應用程序池。
右鍵單擊->選擇屬性。 在“性能”選項卡中,將“空閑超時”設置為“空閑.....分鍾后關閉工作進程的所需分鍾”。
之后,重新啟動IIS。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.