Why would HttpContext not contain a “Host” header?

Total Post:110

 1238  View(s)
Rate this:

In my MVC3 application I have a custom controller factory that has CreateController()method working as follows:

  public IController CreateController(RequestContext requestContext, string controllerName)
       string host =requestContext.HttpContext.Request.Headers["Host"];
       if(!host.EndsWith( SomeHardcodedString ) ) { // FAILS HERE
           //some special action
       //proceed with controller creation

the problem is host is null sometimes - I see NullReferenceException for some requests and the exception stack trace points exactly at that line.

Why would null be retrieved here? How do I handle such cases?

  1. Post:378

    Re: Why would HttpContext not contain a “Host” header?

    Hi jayden, 

    try this:

    Use string host = requestContext.HttpContext.Request.Url.Host;