【问题标题】:How to Reset Session Timeout in asp.net mvc如何在 asp.net mvc 中重置会话超时
【发布时间】:2014-07-17 13:35:22
【问题描述】:

我想在用户仍处于活动状态时重置会话超时。

  1. 在我的场景中,我的会话超时为 20 分钟,而会话时间在 10 秒之前达到 我正在显示一个对话框以确认用户“会话将超时,你想留下来吗??”。如果用户单击“是”,我想从第 21 分钟开始再次 20 分钟继续我的会话,因为根据要求我将用户会话时间保存在数据库表中。

  2. 我们可以为会话超时设置计时器吗?

那么,请任何人帮助我,如何重置会话超时??

【问题讨论】:

标签: javascript jquery asp.net asp.net-mvc session


【解决方案1】:

像这样编写 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);
    }

希望以上技术对您有所帮助。

【讨论】:

  • 如何检查 Session.Timeout 的变化?含义 Session.Timeout 变为 15 或 10。我看到 Session.Timeout 有一个设定值。我正在计划一个设定的时间间隔,但需要知道时间与 SessionTimeout 相同
猜你喜欢
  • 2011-08-12
  • 2020-04-10
  • 1970-01-01
  • 2015-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-12
  • 1970-01-01
相关资源
最近更新 更多