我在我的網絡應用程序中有一個頁面,用戶可能使用這個頁面可能會有幾個小時沒有服務器交互。所有的交互都在JavaScript頁面上完成。如何防止閒置用戶的會話放棄(會話明智)
如果我希望在所有其他頁面上設置20分鐘,我該如何防止會話被放棄?
我的解決方案是發送一個空的Ajax調用每10分鐘只是爲了癢癢服務器,但有沒有其他選擇?
我在我的網絡應用程序中有一個頁面,用戶可能使用這個頁面可能會有幾個小時沒有服務器交互。所有的交互都在JavaScript頁面上完成。如何防止閒置用戶的會話放棄(會話明智)
如果我希望在所有其他頁面上設置20分鐘,我該如何防止會話被放棄?
我的解決方案是發送一個空的Ajax調用每10分鐘只是爲了癢癢服務器,但有沒有其他選擇?
在ASP.Net中,您可以更改Session.Timeout,然後再返回以在該頁面上進行擴展。我還沒有測試它是否會在其他後續請求中取消擴展,但值得一看。
http://msdn.microsoft.com/en-us/library/ms524319(v=vs.90).aspx
你可以做一個假Ajax調用更新會話超時。
要做到這一點,創建一個空的.aspx頁面,並使用任何你想加載該頁面來更新會話。例如,一個JavaScript setInterval
和一個jQuery $.get()
如果你不使用JavaScript和jQuery填寫舒服,你總是可以使用一個Ajax Timer' and another Ajax
UpdatePanel`。
這可保證會話在瀏覽器打開時保持活動狀態。
讓所有會話變長看起來並不是最好的解決方案。
取決於您需要此功能的位置,您可以在母版頁上實現它,或者在需要的地方包含它。您甚至可以將其包含在masterpage中並啓用或禁用定時器。
*每隔10分鐘發送一個空的ajax呼叫*確實是一個不錯的選擇。 – Abhitalks
哎呀,我沒有讀到你正在做一個阿賈克斯電話。正如你從我的回答中看到的那樣,是的,這是正確的。您只能通過製作一個非常簡單的頁面或Web服務來實現最小化,從而優化它。 – JotaBe