Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果另一个页面空闲1分钟,则重定向到登录#_C#_Asp.net_Session_Session Timeout - Fatal编程技术网

C# 如果另一个页面空闲1分钟,则重定向到登录#

C# 如果另一个页面空闲1分钟,则重定向到登录#,c#,asp.net,session,session-timeout,C#,Asp.net,Session,Session Timeout,我想,若用户在1分钟内并没有访问该站点(意味着浏览器空闲1分钟),那个么在1分钟后。当用户单击任何链接时,他的会话应该过期,他必须再次提供登录凭据 登录页面: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class Default3L

我想,若用户在1分钟内并没有访问该站点(意味着浏览器空闲1分钟),那个么在1分钟后。当用户单击任何链接时,他的会话应该过期,他必须再次提供登录凭据

登录页面:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default3Login : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Session["id"] = TextBox1.Text;
        //Session["pass"] = TextBox2.Text;
        Response.Redirect("Default3Logout.aspx");
        Session.RemoveAll();

    }
}
主页:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default3Logout : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Label2.Text = Session["id"].ToString();

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
       //Session.Remove("id"); you wana remove one by one use this.
        Session.RemoveAll();
        Response.Redirect("Default3Login.aspx");
    }
}

您必须为用户维护会话。您可以参考此

表单身份验证是您的一个选项。但是如果您没有使用它(或者即使您正在使用),则可以通过javascript轻松完成

您可以将用户重定向到注销页面或调用方法,以便在您将其逐出会话的位置将其注销

另一个好处是,当用户与页面交互时,您可以顺利地重置巡更计时器。这是实现这一目标的可能方向之一

以下是一些相关代码:

//javascript function
function logout()
{
    //hit the logout page or method using jQuery/xmlhttp
    $.post("logout.aspx?action=logout",{},function(data){
    location.href="logout.aspx";
});
}
在代码隐藏文件中包含以下用于表单注销操作的代码

//under pageload of logout.aspx
if(request.Querystring["action"]!=null)
{
  response.clear();
  Session.abondon();
  response.write("Success");
  response.End();
}

试试&干杯

您应该使用超时值为
1
表单身份验证