检查会话是否可用

6
我尝试在 Application_Error 中使用以下代码:
Session["mysession"] = "Some message";

但问题在于有时候在 Application_Error 中无法使用 session。所以我想要检查 session 是否可用。

1个回答

17

Session并不总是存在于当前Application_Error的上下文中。请尝试以下操作:

protected void Application_Error(object sender, EventArgs e)
{
    if (Context.Handler is IRequiresSessionState || 
        Context.Handler is IReadOnlySessionState)
    {
         // Session exists
         Session["mysession"] = "Some message";
    }
}

如果会话不可用,这将引发异常“在此上下文中不可用的会话状态”。 - Mohammad Nadeem
是的,我做了。现在我怀疑这可能与Application_Error有关。 - Mohammad Nadeem
好的,这对我来说可以了。谢谢! - Mohammad Nadeem

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接