会话超时手动

时间:2012-02-22 16:44:29

标签: asp.net session timeout

我在asp.net的虚拟网站上有2个页面,(default.aspx和default2.aspx),在default.aspx上,我创建了如下所示的会话

   protected void Page_Load(object sender, EventArgs e)
    {
        Session["MySession"] = "WELCOME";
        Session.Timeout = 1;
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Redirect("default2.aspx");
    }

和default2.aspx

 if (Session["MySession"] != null)
            Response.Write(Session["MySession"]);
        else
            Response.Write("Session Timed Out");

我想知道1分钟后会话将被删除,因为我已经超时,但是一分钟后我点击按钮它将我重定向到default2.aspx,并显示会话值“WELCOME”。任何人都可以告诉我如何在特定时间后删除会话值

1 个答案:

答案 0 :(得分:3)

在您的Default.aspx中,您必须检查它是否不是回复,否则每次点击按钮都会再次初始化会话

 protected void Page_Load(object sender, EventArgs e)
  {
     if(!Page.isPostBack())
        {
          Session["MySession"] = "WELCOME";
          Session.Timeout = 1;
        }
  }

protected void Button1_Click(object sender, EventArgs e)
{
    Response.Redirect("default2.aspx");
}
相关问题