Search code examples
c#httpmodule

HttpModule AcquireRequestState event handler has null sender


I have an HttpModule, something like this:

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
    }
}

I have noticed a problem occurring directly after the app pool is restarted, in which null is passed as the sender parameter of the AcquireRequestState event and I get a null reference exception. After some time the problem seems to resolve itself.

How could this be happening?


Solution

  • HttpContext.Current should be set on the event handler thread by the infrastructure. Try using the static accessor instead of the sender on the event.