2010-12-02 134 views
0

我有一個ASP.net網站,我面臨會話超時問題。在web.config我已將會話超時設置爲480(會話時間爲8小時)。但即使如此,會議也不會持續那麼久。它在幾分鐘後熄滅。爲什麼是這樣以及如何修復它?我的網站託管在共享託管服務器上。儘管在web.config中設置會話時間,會話超時

回答

1

默認情況下asp.net中的會話時間爲20分鐘,我們可以通過設置Web.config文件來更改它。 現在在你的情況下,你將它設置爲8小時,但在1分鐘內出去。

你知道有幾點會議可以超時嗎?

* 在Web.Config文件中錯誤配置時。

* 我們也可以在服務器(IIS)中設置這個時間,所以如果它的默認設置改變了。

* 當會話的總內存高於共享主機中的分配時。

* 當任何頁面在運行時發生內部錯誤時,會話將丟失。

* 當某個或任何進程在運行時正在更改任何aspx文件或web.config文件。

因此請檢查所有這些要點。我相信它會解決你的問題...

1

此外,你檢查了應用程序池回收選項?

+0

彼得我怎麼能檢查它?請指導? – haansi 2010-12-03 09:55:45

1

您的託管服務提供商可能在IIS的「回收工作進程」中爲您的應用程序池設置了一些較低的值。不知道他們是否可以替你改變,但你可以試着問他們。

0

在web.config文件中配置實際值之前,導致會話超時的原因很多。

其中一個原因是,如果您託管了應用程序,並且在deployemnt後忘記重置應用程序池。

一旦你部署應用程序第一次那麼其對應的應用程序池可能會重置dusring應用程序第一次運行。

,或者如果您的應用程序池可能會崩潰,在這個過程之間..

您可以通過轉到現在診斷這個問題首先檢查你的應用程序池(在高級設置 - 如果託管在IIS應用程序)事件瀏覽器並檢查自定義視圖中的日誌轉到服務器角色,然後通過單擊右側窗格中的查找按鈕並在搜索框中粘貼您的應用程序池名稱來查找日誌。

檢查與應用程序池相關的錯誤或警告消息。

我希望這可以幫你