Тайм-аут сеанса вручную - PullRequest
       12

Тайм-аут сеанса вручную

0 голосов
/ 22 февраля 2012

У меня есть 2 страницы на моем фиктивном сайте в 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");
    }

и по умолчанию2.aspx

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

Мне было интересно, что через 1 минуту сеанс будет удален, так как у меня истекло время ожидания, но через одну минуту, когда я нажму на кнопку, он перенаправит меня на default2.aspx и отобразит значение сеанса "WELCOME". Может кто-нибудь сказать мне, как стереть значение сеанса после определенной продолжительности

1 Ответ

3 голосов
/ 22 февраля 2012

В вашем 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");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...