Web应用程序中的HttpContext.Current是否为null(假设未使用线程)?更具体地说,它会在void Application_OnError(object sender, EventArgs e)
?
答案 0 :(得分:3)
在AcquireRequestState事件之前,会话未初始化,因此在此点之前发生的任何错误都不会有会话变量可用。
我认为这同样适用于HttpContext.Current作为HttpContext.Current.Session
所以是的,我认为HttpContext.Current在Application_OnError中有时可能为null
答案 1 :(得分:2)
IIS 7中有一些有趣的变化。在IIS6中,您在Application_Start中有一个HttpContext。从IIS7开始,情况就不再如此。
更多信息:
-Oisin
答案 2 :(得分:1)
我认为,例如,如果您分离工作线程,响应结束,工作线程抛出异常,就会发生这种情况。您的Application_OnError将捕获异常,但HttpContext.Current将为null。