342 Stimmen

ASP.NET MVC auf IIS 7.5

Ich verwende Windows 7 Ultimate (64 Bit) mit Visual Studio 2010 RC. Ich habe vor kurzem beschlossen, VS ausführen/Debuggen meine Anwendungen auf IIS statt der Dev-Server, die mit ihm kommt.

Allerdings erhalte ich jedes Mal, wenn ich versuche, eine MVC-Anwendung auszuführen, die folgende Fehlermeldung:

HTTP-Fehler 403.14 - Verboten Der Webserver ist so konfiguriert, dass der Inhalt dieses Verzeichnisses nicht aufgelistet wird. Ausführlich

Fehlerinformationen

Modul VerzeichnisListingModul

Benachrichtigung ExecuteRequestHandler

Handler StaticFile Fehler

Code 0x00000000 Angefordert

URL http://localhost:80/mySite/

P Pfad C:\myProject\mySite\

Anmeldemethode Anonyme Anmeldung

Benutzer Anonym

Ich habe eine default.aspx Datei im Verzeichnis und ich erhielt folgende Fehlermeldung:

HTTP-Fehler 500.21 - Interner Server Fehler-Handler "PageHandlerFactory-Integrated" hat ein fehlerhaftes Modul "ManagedPipelineHandler" in seiner Modulliste

Gibt es noch andere Schritte, die ich vergessen habe, um das Ganze zum Laufen zu bringen?

Anmerkungen: Ich habe IIS 7.5 nach der Installation von VS 2010 RC installiert. Ich habe die integrierte Schaltfläche "Virtuelles Verzeichnis erstellen" unter der Registerkarte "Web" in den "Eigenschaften" des MVC-Projekts in Visual Studio 2010 verwendet. Ich habe sichergestellt, dass die Anwendung den ASP.NET 4 App Pool verwendet.

Nachfolgend sind die installierten Funktionen von IIS aufgeführt, die ich habe.

alt text

499voto

Omar Punkte 38279

ASP.NET 4 wurde nicht im IIS registriert. Ich musste den folgenden Befehl in der Befehlszeile/Ausführen ausführen

32bit (x86) Windows

%windir% \Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir

64bit (x64) Windows

%windir% \Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir

Anmerkung zu David Murdochs Kommentar:

Dass die .net-Version ha seit diese Antwort veröffentlicht wurde. Prüfen Sie welche Version des Frameworks sich in dem %windir% \Microsoft.NET\Framework64 Verzeichnis und wechseln vor der Ausführung entsprechend anpassen (es ist derzeit v4.0.30319)

199voto

Mark Boltuc Punkte 3407

Eine weitere Sache, die Sie sicherstellen sollten, ist die folgende Einstellung in Ihrer web.config:

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer>

77voto

Premchandra Singh Punkte 14026

Vergewissern Sie sich, dass Sie in Ihrer web.config die folgenden Einstellungen vorgenommen haben:

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer>

Eine bessere Lösung:

Auch wenn die obige Lösung absolut einwandfrei funktioniert kann es andere Probleme verursachen, da es alle Ihre registrierten HTTP-Module bei jeder Anfrage ausführt (sogar bei jeder Anfrage von .jpg .gif .css .html .pdf usw.) und es ist offensichtlich eine Verschwendung von Ressourcen. Stattdessen

<system.webServer>
<modules>
  <remove name="UrlRoutingModule-4.0"/>
  <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" preCondition="" />
</modules>
</system.webServer>

Vergewissern Sie sich, dass das preCondition-Attribut leer ist, d. h. es wird bei allen Anfragen ausgeführt. [Weiter lesen]( http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html , "Originalbeitrag lesen")

42voto

ZippyV Punkte 12030

Ein weiterer Grund für diese Fehlermeldung kann sein, dass die Datei Global.asax befindet sich nicht mehr im Root-Ordner.

20voto

toddkitta Punkte 565

Ich habe diesen Fehler auch erhalten und festgestellt, dass die "HTTP-Umleitung" in Windows Server nicht aktiviert war. Dieser Blogbeitrag weist auch darauf hin: http://blogs.msdn.com/b/rjacobs/archive/2010/06/30/system-web-routing-routetable-not-working-with-iis.aspx

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X