2011-07-21 19 views
0

我有一個aspx.cs頁面,只使用回調連接到服務器端。使用回調在網站上過期的會話

網站開始運行後,如果我在此頁面上工作幾分鐘,會話已過期。我只使用回調,我沒有使用任何回傳。 我認爲會話已經過期,因爲它不是來自回發,但我的網站是基於回調的,我從不使用回發。

如何解決此過期會話問題?

回答

0

通過回撥我假設你的意思是來自你的頁面的ajax調用。這些都是普通的HTTP調用,並像普通的回傳一樣攜帶瀏覽器會話cookie。因此,你的會議應該保持活力。

但是,在調試模式下,您的appdomain將在15次動態編譯後回收,並且如果使用InProc會話狀態,您的會話將會丟失。

您可以使用web.config中的<compilation numRecompilesBeforeAppRestart="1000" />元素增加應用程序域回收之前的編譯數。

我也建議你使用SQLServer模式會話狀態,如SQL存儲的會議將生存的AppDomain回收/服務器重啓/負載平衡服務器切換等