Error when calling MvcHttpHandler.ExecuteRequest f

2019-04-07 03:03发布

问题:

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?

回答1:

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