2013-12-09 42 views
0

我在我的網絡應用程序中有一個頁面,用戶可能使用這個頁面可能會有幾個小時沒有服務器交互。所有的交互都在JavaScript頁面上完成。如何防止閒置用戶的會話放棄(會話明智)

如果我希望在所有其他頁面上設置20分鐘,我該如何防止會話被放棄?

我的解決方案是發送一個空的Ajax調用每10分鐘只是爲了癢癢服務器,但有沒有其他選擇?

+1

*每隔10分鐘發送一個空的ajax呼叫*確實是一個不錯的選擇。 – Abhitalks

+0

哎呀,我沒有讀到你正在做一個阿賈克斯電話。正如你從我的回答中看到的那樣,是的,這是正確的。您只能通過製作一個非常簡單的頁面或Web服務來實現最小化,從而優化它。 – JotaBe

回答

1

你可以做一個假Ajax調用更新會話超時。

要做到這一點,創建一個空的.aspx頁面,並使用任何你想加載該頁面來更新會話。例如,一個JavaScript setInterval和一個jQuery $.get()

如果你不使用JavaScript和jQuery填寫舒服,你總是可以使用一個Ajax Timer' and another Ajax UpdatePanel`。

這可保證會話在瀏覽器打開時保持活動狀態。

讓所有會話變長看起來並不是最好的解決方案。

取決於您需要此功能的位置,您可以在母版頁上實現它,或者在需要的地方包含它。您甚至可以將其包含在masterpage中並啓用或禁用定時器。