我正在使用ASP.Net Full-Ajax站點。因爲所有操作都通過Ajax請求來完成,所以任何回發請求都不會發送到服務器。另一方面,我有一個javascript定時器發送ajax請求來檢查會話,並且它是否過期將用戶重定向到登錄頁面。如何使用ajax請求重置ASP.Net會話狀態超時
問題在於:當用戶在頁面上工作20分鐘,所有操作都會在20分鐘後使用ajax請求完成,其會話過期並且用戶將在頁面工作期間完全重定向到登錄頁面(通過該javascript定時器)。所以我需要用ajax請求來刷新它的會話狀態。但是怎麼樣?我怎麼做才能通過ajax請求重置會話狀態超時!?!!
依靠我的谷歌搜索結果中,我無法用Ajax請求瓶坯,因爲店裏的SessionID在客戶端的cookie並更新它需要大跳後回退請求:(
注意:會話狀態坐落於InProc
模式timeout = 20
對不起我的英文不好的語法,我英語新
問候,Foroughi
UPDATE:ajax請求更新會話狀態超時?
UPDATE:當我的用戶登錄到網站,我設置這樣的會議:
Session["UserId"] = UserObject.Id;
,並在我所有的頁面我使用一些Web方法瓶坯這樣的操作:
[WebMethod]
public static Opr1 (Paramethers...)
{
//Question is here , how can i update UserId session to prevent to expire,how can i update it
//execute my codes to preform Opr1
}
你描述它的方式不應該有問題。 Ajax請求將發送到服務器。當服務器執行一些代碼時(實際上,當它剛剛收到請求時),會將會話滑到另一個20分鐘。 – 2012-02-21 08:26:37
我不這麼認爲,因爲我的ajax請求不更新會話超時?這裏有什麼不對?! :( – 2012-02-21 08:28:17
http://stackoverflow.com/questions/1431733/keeping-asp-net-session-open-alive可能的重複 – 2012-02-21 08:29:38