Asp.net

Session_End 事件中 Session 變數的 asp.net 值

  • June 29, 2015

如果我將值儲存在會話變數中

   Session["Int"] = 100;

Session_End 事件中的內容是什麼?它將是 null 還是 100?

void Session_End(object sender, EventArgs e)
{
     object objInt = Session["Int"];          // Null or 100 ?
}

意思是, Session_End 會在處理會話中的所有內容之後還是之前觸發?

它是 100。

要自己測試它,只需將 ASP.NET 應用程序文件添加global.asax到您的項目並處理Session_Start結束Session-End事件:

void Session_Start(object sender, EventArgs e)
{
  Session["Int"] = 100;          // 100
}

void Session_End(object sender, EventArgs e)
{
   object objInt = Session["Int"];  // it is still 100 here
}

Session.Abandon()您可以在(或到期時)結束會話。

protected void Page_Load(object sender, EventArgs e)
{
   Session.Abandon();  // after this Session.End is called
}

引用自:https://stackoverflow.com/questions/12294532