我有一個彈出定時器,當會話還剩5分鐘時通知用戶。然後用戶可以讓它打勾並註銷,或點擊按鈕刷新會話。該按鈕觸發對web方法的ajax調用。服務器設置爲20分鐘的超時時間。一切正常,第一次通過,15分鐘過去,計時器出現,按鈕被按下,呼叫進行。但在第一個15分鐘後,我的計時器從5到30分鐘後隨機出現(它仍能正常工作)。無論出於何種原因,在ajax調用之後session.timeout都會被賦予一個隨機數。我已經調整了我的web方法以包含「session.timeout =」,如下所示:如何在ajax調用後控制會話超時
<WebMethod(EnableSession:=True)> _
<Script.Services.ScriptMethod(UseHttpGet:=False)> _
Public Function Check() As String
If HttpContext.Current.Session("strValid") Is Nothing Then
Return "expired"
Else
Session.Timeout = "20"
Return "ok"
End If
End Function
這仍然會導致隨機彈出窗口。如果我使用會話擴展程序,然後切換到應用程序中的其他頁面,計時器將按照第一個彈出窗口的預期行爲,然後回到隨機性。
通過javaScript調用該方法,不使用window.interval。
任何想法如何確保會話計時器設置爲20分鐘,每次會話刷新?
首先,更改查看Session.Timeout =「20」來查看Session.Timeout = 20 –
我已經測試它的結果是一樣的@husnain_sys – rogerdeuce