Error when calling MvcHttpHandler.ExecuteRequest from custom IHttpHandler

ni5ni6 picture ni5ni6 · Jun 12, 2012 · Viewed 8.5k times · Source

I have a custom IHttpHandler that calls MvcHttpHandler implemented as described in this answer.

It worked well in asp.net MVC2, but after I migrate the code to MVC4 with IISExpress 7.5, I start getting InvalidOperationException on the line:

httpHandler.ProcessRequest(HttpContext.Current);

with message:

'HttpContext.SetSessionStateBehavior' can only be invoked before 'HttpApplication.AcquireRequestState' event is raised.

ASP.NET Development Server does not make any problems.

Does anyone know what's going on here, and how to solve it?

Answer

Ryan O'Neill picture Ryan O'Neill · Jun 12, 2012

I believe you need to use httpContext.Server.TransferRequest with the MVC update.

See this question: MVC3 Application Inside Webforms Application Routing is throwing a HttpContext.SetSessionStateBehavior Error in IIS7.5