HttpModule AcquireRequestState事件处理程序具有null sender

时间:2009-12-18 01:43:23

标签: c# httpmodule

我有一个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 参数传递,我得到一个空引用异常。 一段时间后,问题似乎就解决了。

怎么会发生这种情况?

1 个答案:

答案 0 :(得分:1)

HttpContext.Current应该由基础结构在事件处理程序线程上设置。尝试在事件中使用静态访问器而不是发件人。