asp.netiisintegrated-pipeline-mode

"This operation requires IIS integrated pipeline mode."


I have a web application being developed on Windows 8.1, .NET 4.5.1, IIS 8.5 (under Integrated AppPool), Visual Studio 2013 over the default template that includes ASP.NET Identity, Owin, etc. and locally it works fine.

Then I uploaded it to a Windows Server 2008 using IIS 7.5 (Integrated Pipeline) Host and I get:

This operation requires IIS integrated pipeline mode.

Exception Details:
System.PlatformNotSupportedException: This operation requires IIS integrated pipeline mode.

Stack Trace:

[PlatformNotSupportedException: This operation requires IIS integrated pipeline mode.]
  System.Web.HttpResponse.get_Headers() +9687046
  System.Web.HttpResponseWrapper.get_Headers() +9
  Microsoft.Owin.Host.SystemWeb.OwinCallContext.CreateEnvironment() +309
  Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContext.GetInitialEnvironment(HttpApplication application) +246
  Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContext.PrepareInitialContext(HttpApplication application) +15
  Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage.BeginEvent(Object sender, EventArgs e, AsyncCallback cb, Object extradata) +265
  System.Web.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +285
  System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

I am unable to find anything except for directing the reader to change the pipeline from classic mode to integrated mode, which I already did with no success.

What can I do to fix the problem? Does "Microsoft.Owin.Host.SystemWeb" not like IIS 7.5 or something?


Solution

  • This was a strange problem since my hosts IIS shouldn't complain that it requires integrated pipeline mode when it already is in that mode as I stated in my question as:

    I have searched a lot and unable to find anything except for directing the reader to change the pipeline from classic mode to integrated mode that which I already did with no luck..

    Using Levi's directions, I put <%: System.Web.Hosting.HttpRuntime.UsingIntegratedPipeline %> and <%: System.Web.Hosting.HttpRuntime.IISVersion %>* on an empty aspx page and told my host what going on and asked them to fix the problem and confirm the problem using the page I uploaded... I checked very often if something has changed at the state of the page and I can see that they struggled 3-4 hours to solve it...

    When I asked what they have done to solve the problem, their answer was kind of 'classified', since they said:

    Our team made the required changes on the server

    The problem was all with my host.

    * Update: As Ben stated in the comments

    1. <%: System.Web.Hosting.HttpRuntime.UsingIntegratedPipeline %> and
    2. <%: System.Web.Hosting.HttpRuntime.IISVersion %>

    are no longer valid and they are now:

    1. <%: System.Web.HttpRuntime.UsingIntegratedPipeline %> and
    2. <%: System.Web.HttpRuntime.IISVersion %>