簡體   English   中英

設置會話超時的時間

[英]Setting time for a session to timeout

我知道這個問題在這里已經問了很多,但是人們提供的解決方案似乎都不對我真正有用。 我試圖延長會話在我的網站上保持活動狀態的時間,我嘗試使用以下方法修改web.config:

  <sessionState timeout="45"/> 

並在后面的代碼中設置Session.Timeout,但是這些功能按預期工作。 我希望使會話盡可能長地持續,但是到目前為止,它們持續約10分鍾,直到我開始遇到問題為止。

如果您的會話狀態設置為InProc,並且您有多個Web服務器或一個Web花園,則您的會話狀態很容易丟失。

有關更多詳細信息,請參見MSDN文檔

Asp.Net會話管理有兩種模式。

InProc

會話丟失是此模式下的常見問題。 一段時間后,IIS會繼續回收工作進程,這會導致會話數據丟失。

請查看下面的鏈接以獲取更多信息。

檢查一下

下面的CodeProject文章中有解決此問題的方法。

防止ASP.NET中的會話超時

OutProc

在此會話管理模式下,web.config的設置將正常工作。 請查看下面的鏈接以獲取更多詳細信息。

檢查這個

在WebConfig中:

<configuration>
  <system.web>
     <sessionstate timeout="20" /> 
  </system.web>
</configuration>

默認情況下為20分鍾。 根據您的需要進行更改。

在IIS中檢查

  1. 打開IIS,單擊“應用程序池”。

  2. 選擇您的應用程序的應用程序池。

  3. 右鍵單擊->選擇屬性。 在“性能”選項卡中,將“空閑超時”設置為“空閑.....分鍾后關閉工作進程的所需分鍾”。

之后,重新啟動IIS。

為什么Session.Timeout不適用於您的網站

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM