AJAX 呼叫如何讓 ASP.NET 會話保持活動狀態?
Jan 13, 2025 am 07:56 AM使用 AJAX 延長 ASP.NET 會話
維護活動的 ASP.NET 會話對於流暢的使用者體驗至關重要。 穩健的方法利用 AJAX 呼叫定期刷新會話,防止逾時。
實現 AJAX 會話心跳
此方法採用 jQuery AJAX 調用,對專用 HTTP 處理程序重複進行(例如,每 5 分鐘一次):「SessionHeartbeat.ashx」。該處理程序的唯一目的是會話維護。 該處理程序的 C# 程式碼是:
public class SessionHeartbeatHttpHandler : IHttpHandler, IRequiresSessionState { public bool IsReusable { get { return false; } } public void ProcessRequest(HttpContext context) { context.Session["Heartbeat"] = DateTime.Now; } }
登入後複製
對應的客戶端JavaScript函數是:
function setHeartbeat() { setTimeout("heartbeat()", 5*60*1000); // Every 5 minutes } function heartbeat() { $.get( "/SessionHeartbeat.ashx", null, function(data) { setHeartbeat(); }, "json" ); }
登入後複製
增強使用者介面
為了獲得視覺回饋(以及持續的會話維護),我們可以加入 CSS 和 HTML:
function beatHeart(times) { var interval = setInterval(function () { $(".heartbeat").fadeIn(500, function () { $(".heartbeat").fadeOut(500); }); }, 1000); // Beat every second // Clear interval after 'times' iterations (with 100ms buffer) setTimeout(function () { clearInterval(interval); }, (1000 * times) + 100); } /* HEARBEAT CSS */ .heartbeat { position: absolute; display: none; margin: 5px; color: red; right: 0; top: 0; }
登入後複製
AJAX 會話心跳的優點
- 謹慎操作:會話維護對使用者來說是透明的。
- 會話持久性:只要瀏覽器視窗打開,會話就會保持活動狀態。
- 彈性頻率:心跳間隔可輕鬆調整。
- 改善使用者體驗:確保使用者會話不間斷。
以上是AJAX 呼叫如何讓 ASP.NET 會話保持活動狀態?的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)