我正在运行IIS 7集成模式,并且在这种情况下请求不可用当我尝试在从调用的Log4Net相关函数中访问它时Application_Start。这是我的代码行if (HttpContext.Current != null && HttpContext.Current.Request != null)并且正在抛出异常以进行第二次比较。除了检查HttpContext.Current.Request是否为null之外,我还能检查什么?
3 回答
忽然笑
TA贡献1806条经验 获得超5个赞
这是非常经典的情况:如果最终不得不检查http实例提供的任何数据,请考虑将该代码移到BeginRequest事件下。
void Application_BeginRequest(Object source, EventArgs e)
在这里检查http标题,查询字符串等的正确位置…… Application_Start是适用于应用程序整个运行时的设置,例如路由,过滤器,日志记录等。
请不要应用任何解决方法,例如static .ctor或切换到Classic模式,除非无法将代码从Start移到BeginRequest。这对您的绝大多数情况都是可行的。
添加回答
举报
0/150
提交
取消