我想在应用程序错误事件中读取会话ID,但始终会收到错误"此上下文中的会话状态不可用".为什么?奇怪的是,我在另一个asp.net应用程序中有相同的代码,一切正常.
void Application_Error(object sender, EventArgs e)
{
var sessionId = Session.SessionID;
//skipped code
}
Run Code Online (Sandbox Code Playgroud)
Woo*_*ody 34
会话对象可能不可用,这取决于发生错误的时间.
例如,如果Begin_Request上发生错误,则会话将无法使用,因为尚未创建会话.
总而言之,有时它会工作,有时根本不会发生错误.
最好在访问会话ID之前检查会话对象的状态,例如
HttpContext context = HttpContext.Current;
if (context != null && context.Session != null) ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35978 次 |
| 最近记录: |