2016-04-09 101 views
0

我有一個ASP.NET MVC c#,我發佈在由GoDaddy託管的域中。不過,我有一個關於會話到期的問題。ASP.NET MVC c#在GoDaddy發佈的網站,會話超時太快

在web.config中,我已經寫了:

<forms loginUrl="~/Account/Login" 
     defaultUrl="~/Items/Index" 
     timeout="432000" /> 

<sessionState timeout="6000" /> 

運行時,它本地主機也能正常工作,發佈現場,我的域名和登錄然而,當,它通常會在閒置10-15分鐘後超時。

我也檢查了GoDaddy的設置,只能找到這一點,這似乎仍然是正確的:

GoDaddy session settings

有我錯過了什麼,有沒有別的東西,決定在服務器上會話超時?

謝謝你的時間。

+0

Sessionstate和表單身份驗證與彼此沒有任何關係。這可能是因爲應用程序池本身正在被回收,或者應用程序由於不使用而導致會話過期而被拆除。如果應用程序池回收,除非您使用的是狀態管理服務器或其他永久性會話存儲,否則會話將被重置。 –

+0

您是否知道是否有辦法阻止應用程序池被回收? – Fayze

+0

回收應用程序池對於應用程序的運行狀況至關重要。除非你有自己的專用盒子,否則你很可能無法通過GoDaddy控制它。回收應用程序池對於正確的內存垃圾收集以及確保數據庫連接池健康是必需的。 –

回答

1

嘗試更新你的web.config文件象下面

<sessionState mode="InProc" timeout="1440"/> 

而且還爲應用程序生成計算機密鑰並將其添加到web.config文件以及

<machineKey decryption="AES" decryptionKey="[put decryptionKey here ]" validationKey="[put validationKey here ]"/> 

注意:以上所有代碼都在

<system.web>...</system.web>