2011-12-08 318 views
1

我知道這個問題已經被問了很多關於這裏,但沒有提供這好像人的解決方案,真正爲我工作。我想延長時間長度會議在我的網站保持活躍我試圖修改web.config中有:設置時間會話超時

<sessionState timeout="45"/> 

背後在代碼中設置查看Session.Timeout但這些預計的效果的幽冥。我想獲得的會話持續儘可能長的時間,但截至目前,他們持續約10分鐘前,我開始有問題。

+3

默認的超時時間是20分鐘,所以如果你在10分鐘後看到的問題,這似乎表明另一個問題。 –

+3

「在我開始出現問題之前」並不完全有用於描述問題。通常會話狀態使用滑動到期,因此建議將取決於「問題」的類型。 –

+0

你碰巧是表單驗證用戶嗎? – TheGeekYouNeed

回答

4

如果您的會話狀態設置爲InProc方式,你有多個Web服務器或Web園,那麼你的會話狀態很容易丟失。

有關詳細信息,請參閱MSDN documentation

2

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

是InProc

損失會議是在這種模式下的通病。 IIS保持回收一些時間,這會導致會話數據丟失後的工人進程。

看一看下面的鏈接以獲取更多的情報學報

Check this

下面CodeProject上的文章有針對此問題一個變通。

Prevent Session Timeout in ASP.NET

OutProc

在會話管理的這種模式,web.config中的設置將正常工作。看看下面的鏈接瞭解詳情。

check this

在WebConfig:

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

默認情況下,它的20分鐘。根據您的需求更改它。

檢查它在IIS

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

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

  3. 右鍵 - >選擇屬性。在 性能選項卡,「在空閒 .....分鐘後關閉工作進程」設置空閒時間爲您 期望分鐘。

之後重新啓動IIS。

Why Session.Timeout is not working for your website