it-swarm.com.de

Msgstr "Diese Operation erfordert IIS integrierter Pipeline-Modus. "

Ich habe eine Webanwendung, die unter Windows 8.1 entwickelt wird. .Net 4.5.1, IIS 8.5 (unter Integrated AppPool), Visual Studio 2013 Über der Standardvorlage, die asp.net Identity, Owin usw. enthält vor Ort funktioniert gut.

Dann habe ich es auf einen Windows Server 2008 hochgeladen und IIS 7.5 (Integrated Pipeline) Host und ich erhalte:

Für diesen Vorgang ist IIS der integrierte Pipeline-Modus erforderlich.

Ausnahmedetails:System.PlatformNotSupportedException: Diese Der Betrieb erfordert IIS einen integrierten Pipeline-Modus.

Stack-Trace:

[PlatformNotSupportedException: Diese Operation erfordert IIS integrierter Pipeline-Modus.] 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 Anwendung) +246 Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContext.PrepareInitialContext (HttpApplication Anwendung) +15 Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage.BeginEvent (Object Sender, EventArgs e, AsyncCallback cb, Objekt-Extradaten) +265 System.Web.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute () +285 System.Web.HttpApplication.ExecuteStep (Schritt IExecutionStep, Boolean und completeSynchronously) +155

Ich habe viel gesucht und konnte nichts finden, außer den Leser anzuweisen, die Pipeline vom klassischen Modus in den integrierten Modus umzustellen, was ich bereits ohne Erfolg getan habe.

Was kann ich tun, um das Problem zu beheben? Ist "Microsoft.Owin.Host.SystemWeb" nicht wie IIS 7.5 oder Server 2008 oder ich :)?

48
wooer

Dies war ein seltsames Problem, da sich meine Hosts IIS nicht darüber beklagen sollten, dass ein integrierter Pipeline-Modus erforderlich ist, wenn sie sich bereits in diesem Modus befinden, wie in meiner Frage angegeben:

Ich habe viel gesucht und konnte nichts finden, außer dass ich den Leser angewiesen habe, die Pipeline vom klassischen Modus in den integrierten Modus zu ändern , was ich bereits ohne Glück getan habe ..

Ich benutze Levi's Richtungen <%: System.Web.Hosting.HttpRuntime.UsingIntegratedPipeline %> und <%: System.Web.Hosting.HttpRuntime.IISVersion %>* auf einer leeren ASPX-Seite und teilte meinem Host mit, was los ist, und bat ihn, das Problem zu beheben und das Problem auf der von mir hochgeladenen Seite zu bestätigen dass sie 3-4 Stunden gekämpft haben, um es zu lösen ...

Als ich sie fragte, was sie getan hätten, um das Problem zu lösen, lautete ihre Antwort „klassifiziert“, da sie sagten:

Unser Team hat die erforderlichen Änderungen auf dem Server vorgenommen

Das Problem war alles mit meinem Gastgeber.

* Update: Wie Ben in den Kommentaren angegeben

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

sind nicht mehr gültig und sie sind jetzt:

  1. <%: System.Web.HttpRuntime.UsingIntegratedPipeline %> und
  2. <%: System.Web.HttpRuntime.IISVersion %>
5
wooer

Ihr Anwendungspool befindet sich im klassischen Modus, aber für Ihre Anwendung muss der integrierte Modus aktiviert werden. Ändern Sie es in den integrierten Modus:

  1. Öffnen IIS Manager

  2. Anwendungspool

  3. Wählen Sie den Pool aus, in dem Ihre App ausgeführt wird

  4. Im rechten Bereich wählen Sie Grundeinstellung

  5. Pipeline-Modus verwalten zu Integriert wechseln

48
Mohammadreza

Für alle, die hierher kommen, wenn Sie nach diesem Fehler suchen, versuchen Sie, Response.AddHeader anstelle von Response.Headers.Add() zu verwenden.

43
billpg

Ich hatte das gleiche Problem und konnte folgende Aufgaben lösen:

  1. Gehen Sie zu Visual Studio Project properties

  2. Wählen Sie Web Tab.

  3. Use Local IIS Web server auswählen 

  4. Use IIS Express überprüfen

33
kakon

Alle diese Antworten haben bei mir nicht funktioniert.

Problemdetails: Beim Versuch, meine Anwendung (entwickelt mit Visual Studio und Verwendung der mit der Veröffentlichungsoption erstellten Ordnerstruktur) auf einem Remoteserver bereitzustellen, wurde derselbe Fehler wie in der Frage erwähnt .

Dieses Problem blieb nach dem Ausprobieren der obigen Lösungen bestehen. Dieser Fehler bedeutet, dass sich der Anwendungspool, zu dem Ihre implementierte Anwendung gehört, nicht im integrierten Modus befindet.

Lösung:

  1. Erstellen Sie einen neuen Anwendungspool mit ausgewählter .NET 4-Version und dem Modus "Managed Pipeline" als Integrated .
  2. Ändern Sie den App-Pool Ihrer Anwendung in den oben erstellten und versuchen Sie es jetzt.

Es klappt!

6

Für Visual Studio 2012 while Debugging Dieser Fehler ist aufgetreten

Website-Menü -> Verwenden Sie IIS Express habe es für mich getan 

4
Avinash

Ich habe dieses Problem durch folgende Schritte gelöst:

  1. Klicken Sie mit der rechten Maustaste auf den Stammordner des Projekts.
  2. Gehe zu Eigenschaften
  3. Klicken Sie im linken Menü auf Web
  4. Ändern Sie den aktuellen Port http: // localhost: ####/
  5. klicken Sie auf Virtuelles Verzeichnis erstellen
  6. Speichern Sie die Änderungen (Strg + s)
  7. Lauf

vielleicht hilft es dir dabei.

4

Das Problem kann nicht in IIS behoben werden. Ich habe versucht, meine Anwendung innerhalb von IIS Express in Visual Studio auszuführen. Ich durchsuchte das Web und in einigen Artikeln wurde gesagt, dem system.web-Tag ein Identifizierungs-Tag hinzuzufügen. Dies ist nicht der richtige Weg. 

Ich konnte dieses Problem lösen, indem ich auf die Projektdatei klickte und zu den Eigenschaften .. ging. Unter Managed Pipeline änderte ich den Eigenschaftswert von klassisch auf integriert.

Das hat mein Problem gelöst.

4
Tyrone Moodley

Diejenigen, die VS2012 verwenden

Springen Sie zu Projekt> Eigenschaften> Web 

Aktivieren Sie Use Local IIS Web Server

Aktivieren Sie die Option Use IIS Express

Projekt-URL http: // localhost: PORT/

3
Techvalens

GitHub Lösung löste das Problem für mich durch Hinzufügen

  • Global.asax.cs: Legen Sie AntiForgeryConfig.SuppressXFrameOptionsHeader = True fest. in Application_Start:
  • Fügen Sie manuell den X-Frame-Options-Header in Application_BeginRequest hinzu
0
Thulasiram