繁体   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