Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Panggilan AJAX Boleh Memastikan Sesi ASP.NET Hidup?

Bagaimanakah Panggilan AJAX Boleh Memastikan Sesi ASP.NET Hidup?

Linda Hamilton
Lepaskan: 2025-01-13 07:56:46
asal
199 orang telah melayarinya

How Can AJAX Calls Keep ASP.NET Sessions Alive?

Memanjangkan Sesi ASP.NET dengan AJAX

Mengekalkan sesi ASP.NET aktif adalah penting untuk pengalaman pengguna yang lancar. Kaedah yang mantap menggunakan panggilan AJAX untuk menyegarkan semula sesi secara berkala, menghalang tamat masa.

Melaksanakan Degupan Jantung Sesi AJAX

Pendekatan ini menggunakan panggilan AJAX jQuery, berulang (mis., setiap 5 minit), kepada pengendali HTTP khusus: "SessionHeartbeat.ashx." Tujuan pengendali ini hanyalah penyelenggaraan sesi. Kod C# untuk pengendali ini ialah:

<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>
Salin selepas log masuk

Fungsi JavaScript sisi klien yang sepadan ialah:

<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>
Salin selepas log masuk

Mempertingkatkan Antara Muka Pengguna

Untuk maklum balas visual (dan penyelenggaraan sesi berterusan), kami boleh menambah CSS dan 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>
Salin selepas log masuk

Kelebihan Degupan Jantung Sesi AJAX

  • Kendalian Bijak: Penyelenggaraan sesi adalah telus kepada pengguna.
  • Kegigihan Sesi: Sesi kekal aktif selagi tetingkap penyemak imbas dibuka.
  • Frekuensi Fleksibel: Selang degupan jantung mudah dilaraskan.
  • Pengalaman Pengguna yang Dipertingkat: Memastikan sesi pengguna tidak terganggu.

Atas ialah kandungan terperinci Bagaimanakah Panggilan AJAX Boleh Memastikan Sesi ASP.NET Hidup?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan