我開發了安裝在「實時」IIS 7.5上的ASP.NET Web應用程序。 Web應用程序使用http會話爲登錄用戶在頁面之間傳遞參數。這在我的開發機器上很好(用VS2010 IDE中的本地IIS進行測試),但是當這個Web應用程序上傳到客戶端的IIS並開始使用它時(Google Chrome和IE瀏覽器),在一些隨機時刻,會話變量似乎消失。我的第一個猜測是,加入這一行,以增加通過web.config文件中的會話超時設置:ASP.NET Web應用程序會話問題
<configuration>
<system.web>
<sessionState timeout="20"></sessionState>
</system.web>
</configuration>
但是,這似乎並沒有解決問題。所以這讓我想知道,會議還有其他什麼設置?像一個內部文件夾,可以讓所有會話的緩存保持在實際的IIS上溢出?有任何想法嗎?
編輯:繼@wy __的建議,我修改了web.config文件,並開始在我的開發機器上看到相同的問題。這裏是整個的System.Web部分,因爲我有現在:
<system.web>
<compilation targetFramework="4.0" debug="false"/>
<pages validateRequest="false"/>
<httpRuntime requestValidationMode="2.0" executionTimeout="110" maxRequestLength="262144"/>
<sessionState timeout="20" cookieless="true" regenerateExpiredSessionId="true"></sessionState>
</system.web>
我還檢查和只有一個w3wp.exe
進程在運行。
確保瀏覽器不會阻止客戶端計算機上的Cookie。由於它是隨機發生的,這不太可能,但它應該在檢查清單上。 – RacerNerd
你能告訴我們更多關於IIS配置的信息嗎?它是一個單一的IIS服務器,它是一個網絡花園或網絡農場?您是使用InProc,State還是SQLServer會話狀態提供程序? –
@RacerNerd:我無法確定,因爲它發生在客戶機器上。但他們報告了Chrome和IE的相同問題。 – c00000fd