我有一个HttpModule,就像这样:
public class MyModule : IHttpModule
{
public void Init(HttpApplication context)
{
context.AcquireRequestState += Context_OnAcquireRequestState;
}
private void Context_OnAcquireRequestState(object sender, EventArgs e)
{
HttpContext context = ((HttpApplication)sender).Context;
... etc
}
}
我注意到在重新启动应用程序池后直接出现问题,其中null作为AcquireRequestState事件的 sender 参数传递,我得到一个空引用异常。 一段时间后,问题似乎就解决了。
怎么会发生这种情况?
答案 0 :(得分:1)
HttpContext.Current应该由基础结构在事件处理程序线程上设置。尝试在事件中使用静态访问器而不是发件人。