【发布时间】:2009-10-27 15:32:57
【问题描述】:
Web 应用程序中的 HttpContext.Current 是否为空(假设未使用线程)?更具体地说,它会不会在 void Application_OnError(object sender, EventArgs e) 中为空?
【问题讨论】:
标签: asp.net
Web 应用程序中的 HttpContext.Current 是否为空(假设未使用线程)?更具体地说,它会不会在 void Application_OnError(object sender, EventArgs e) 中为空?
【问题讨论】:
标签: asp.net
在 AcquireRequestState 事件之前会话不会被初始化,因此在此之前发生的任何错误都不会有可用的会话变量。
我认为这同样适用于 HttpContext.Current 和 HttpContext.Current.Session
是的,我认为 HttpContext.Current 在 Application_OnError 中有时可能为空
【讨论】:
在这方面,IIS 7 中有一些有趣的变化。在 IIS6 中,Application_Start 中有一个 HttpContext。从 IIS7 开始,情况不再如此。
更多信息:
-奥辛
【讨论】:
我相信它可能会发生,例如,您分离一个工作线程,响应结束,工作线程抛出一个异常。您的 Application_OnError 将捕获异常,但 HttpContext.Current 将为空。
【讨论】: