AJAX로 ASP.NET 세션 연장
원활한 사용자 경험을 위해서는 활성 ASP.NET 세션을 유지하는 것이 중요합니다. 강력한 방법은 AJAX 호출을 활용하여 세션을 주기적으로 새로 고치고 시간 초과를 방지합니다.
AJAX 세션 하트비트 구현
이 접근 방식은 전용 HTTP 핸들러인 "SessionHeartbeat.ashx"에 대해 반복되는(예: 5분마다) jQuery AJAX 호출을 사용합니다. 이 처리기의 유일한 목적은 세션 유지 관리입니다. 이 핸들러의 C# 코드는 다음과 같습니다.
<code class="language-csharp">public class SessionHeartbeatHttpHandler : IHttpHandler, IRequiresSessionState { public bool IsReusable { get { return false; } } public void ProcessRequest(HttpContext context) { context.Session["Heartbeat"] = DateTime.Now; } }</code>
해당 클라이언트측 JavaScript 함수는 다음과 같습니다.
<code class="language-javascript">function setHeartbeat() { setTimeout("heartbeat()", 5*60*1000); // Every 5 minutes } function heartbeat() { $.get( "/SessionHeartbeat.ashx", null, function(data) { setHeartbeat(); }, "json" ); }</code>
사용자 인터페이스 강화
시각적 피드백(및 지속적인 세션 유지 관리)을 위해 CSS와 HTML을 추가할 수 있습니다.
<code class="language-javascript">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; }</code>
AJAX 세션 하트비트의 장점
위 내용은 AJAX 호출은 어떻게 ASP.NET 세션을 활성 상태로 유지할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!