手动会话超时



我在asp.net的虚拟网站上有两个页面(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,并显示会话值"欢迎"。有人能告诉我如何在特定的持续时间后擦除会话值吗?

在您的Default.aspx中,您必须检查它是否不是post-back,否则会话将再次初始化,每次单击按钮

 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");
}

相关内容

  • 没有找到相关文章

最新更新