Session_End 事件中 Session 变量的 asp.net 值

标签 asp.net events session session-variables

如果我在 session 变量中存储一个值

    Session["Int"] = 100;

Session_End 事件中会发生什么?它是 null 还是 100?
void Session_End(object sender, EventArgs e)
{
      object objInt = Session["Int"];          // Null or 100 ?
}

意思是,Session_End 会在 session 中或之前处理完所有内容后触发吗?

最佳答案

它是 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() 结束 session (或到期时)。
protected void Page_Load(object sender, EventArgs e)
{
    Session.Abandon();  // after this Session.End is called
}

关于Session_End 事件中 Session 变量的 asp.net 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12294532/

相关文章:

c# - ASP.Net Core 中的原始查询

c# - 检查 HangFire.JobStorage 是否被实例化

c# - 是否有令人信服的理由在声明事件时使用 EventHandler<T> 委托(delegate)而不只是 Action<T>?

php - 为什么我无法访问 $_SESSION[USERID]?

java - J2ee session 跟踪

c# - 使用 ASP.NET 编辑 HTML 元标记

asp.net - Visual Studio 如何决定在哪个端口上运行应用程序?

silverlight - 在 Silverlight 中的 UserControl 中公开按钮的 Click 事件

java - Java 应用程序级别的关键事件

php - PHP 从 5.3.1 升级到 5.3.2 后 session 不起作用