2011-12-13 113 views
1

這是我在web.config中使用的語法。IIS 7.0會話過期ASP.net

但是我的會話在10到15分鐘內到期不會停留2小時。

<sessionState cookieless="UseCookies" cookieName="ASP.NET_SessionId180" 
mode="InProc" timeout="120" /> 
+0

服務器上的日期和時間是否正確? – Oded

回答

0

「工作人員」最有可能是導致問題的人。如果回收它會重置會話,如果它的閒置時間足夠長。

檢查您的IIS AppPool設置並增加空閒超時設置。

2

一個可能的原因是應用程序域被IIS回收。而且,由於您正在使用InProc會話狀態,AppDomain的整個內存都將被清除。 IIS可以在不同情況下回收AppDomain:達到一定的不活動時間或CPU /內存閾值限制。

你可以在following blog post瞭解更多。

+0

默認是10分鐘或20分鐘tmieout。 – TomTom

0

當您使用InProc會話狀態時,可能會由於某些操作而回收池:修改web.config,將文件複製到bin文件夾,... 還檢查池的回收參數。 您可以嘗試爲會話使用StateServer選項。爲此,您需要啓動ASP.NET狀態服務並檢查您的對象是否標記爲可序列化。