簡體   English   中英

如何在asp.net mvc中重置會話超時

[英]How to Reset Session Timeout in asp.net mvc

我想在用戶仍處於活動狀態時重置會話超時。

  1. 在我的場景中,我的會話超時為20分鍾,當在10秒之前達到會話時間時,我顯示一個對話框,確認用戶為“會話將要超時,你想留在嗎?”。 如果用戶單擊是,我想繼續我的會話再次從第21分鍾開始20分鍾,因為根據要求我在數據庫表中保存用戶會話時間。

  2. 我們可以設置會話超時的計時器。

所以,請幫助我任何人,如何重置會話超時?

編寫jQuery腳本,如:

 (document).ready(function () {


        $("#divdialog").dialog({
            autoOpen: false,

            resizable: false,
            modal: true,
            title: "Session Timeout",

            buttons: {
                Yes: function () {
                    $.ajax({
                        url: '/<your controller>/SessionTimeout', // Redirects to action method for every 20 minutes.

                        dataType: "json",
                        type: "GET",
                        error: function () {
                            alert(" An error occurred.");
                        },
                        success: function (data) {
                            $("#divdialog").dialog('close');
                            display("stop");

                        }
                    });
                },
                Logout: function () {
                    location.href = '/<your controller>/Logout';
                }
            }
        });


    });

    function myFunction() { // Fires every 20 minutes

        setInterval(function () {
            $("#divdialog").dialog('open');

        }, 1200000);
    }

和控制器中的添加操作方法,如:

  public ActionResult SessionTimeout()
    {

        Session.Timeout = Session.Timeout + 20;

        return Json("",JsonRequestBehavior.AllowGet);
    }

希望以上技術可以幫到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM