Frage

Ich bin mit Windows 7 Ultimate (64 Bit) Visual Studio 2010 RC mit. Ich entschied vor kurzem VS run / debuggen meine apps auf IIS statt der Dev-Server zu haben, die mit ihm kommt.

Allerdings habe ich jedes Mal versuchen, eine MVC-app zu laufen, ich folgende Fehlermeldung erhalten:

  

HTTP-Fehler 403.14 - Verbote Der Web-Server konfiguriert ist, um den Inhalt dieses Verzeichnisses auflisten. Detaillierte

     

Fehlerinformationen

     

Modul DirectoryListingModule

     

Notification ExecuteRequestHandler

     

Handler Static Fehler

     

-Code 0x00000000 Gewünscht

     

http: // localhost: 80 / mySite /

     

Physikalische   Pfad C: \ myProject \ mySite \

     

Anmeldemethode Anonyme Anmeldung

     

User Anonymous

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

  

HTTP-Fehler 500,21 - Internal Server   Fehlerbehandlung   „Pagehandlerfactory-Integrated“ hat ein   schlechtes Modul „ManagedPipelineHandler“ in   seine Modulliste

Gibt es andere Schritte, die ich vergessen habe, um diese Funktion zu erhalten?

Weitere Informationen: Ich installierte IIS 7.5 nach VS 2010 RC installieren. Ich benutzen die eingebaut „Virtuelles Verzeichnis erstellen“ Knopf unter dem Register „Web“ in dem MVC-Projekt „Eigenschaften“ in Visual Studio 2010. Ich stellte sicher, dass die Anwendung den ASP.NET 4 App-Pool verwendet wird.

Im Folgenden sind die installierten Funktionen von IIS habe ich.

alt text

War es hilfreich?

Lösung

ASP.NET 4 wurde nicht in IIS registriert. Haben Sie den folgenden Befehl in der Befehlszeile ausführen / run

32-Bit (x86) Windows

  

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

64-Bit (x64) Windows

  

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

Hinweis von David Murdoch Kommentar:

  

Dass die .net Version geändert hat   da wurde diese Antwort geschrieben. Prüfen   die Version des Frameworks ist in   Die% windir% \ Microsoft.NET \ Framework64   Verzeichnis und den Befehl ändern   dementsprechend vor der Ausführung (es ist   zur Zeit v4.0.30319)

Andere Tipps

Eine weitere Sache, um sicherzustellen, dass Sie haben, ist der folgende Satz in Ihrem web.config:

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

Vergewissern Sie sich, ist der folgende Satz in Ihrer web.config:

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

Bessere Lösung:

Obwohl obige Lösung funktioniert absolut in Ordnung , kann es ein anderes Problem verursachen, da es alle registrierten läuft HTTP-Module bei jeder Anfrage (auch bei jeder Anforderung von .jpg. gif .css- .html .pdf, etc.), und es ist offensichtlich von Ressourcen verschwenden. Statt

<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>

Stellen Sie sicher, preCondition Attribut leer Mittel ist es auf alle Anfragen laufen. [Mehr] ( http: //www.britishdeveloper. co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html "Read original post")

Ein weiterer Grund, warum jemand diesen Fehler bekommen könnte, ist, wenn die Datei Global.asax ist nicht im Stammordner mehr.

Ich habe auch diesen Fehler zu empfangen und festgestellt, dass „HTTP-Umleitung“ wurde nicht eingeschaltet in Windows Server. Diese Blog-Eintrag Punkte als auch this out: http://blogs.msdn.com/b/rjacobs/archive/2010/06/30/system-web-routing-routetable-not-working-with-iis.aspx

Sweet Jesus. Ich habe versucht, alle oben genannten Dinge (aber fand meine Einstellungen identisch). NOCH EINE LÖSUNG, wenn Sie Probleme haben:

http://support.microsoft.com/kb/980368

Versuchen Sie, dieses KB für Ihr System zu installieren. Wenn Sie 404s sehen es könnte sein, dass Sie dieses Update nicht haben - und das isapi Modul wird einfach nicht gefunden zu werden, und es gibt nicht viel Sie, dass ohne dies tun

Auch kann u wechseln AppPool Integrierte Modus. Thnx Michael Bianchi ( https://stackoverflow.com/a/7956546/1143515 ), ich möchte nur betonen, dass .

Für mich auf einem Azure Server 2012 R2 IIS 8.5 VM mit einem Asp.Net MVC 5 app (ist eingesetzt MVC 5) ich folgende von einer erhöhten cmd Aufforderung zu tun hatte, obwohl ich hatte 4,5 bereits installiert ist:

dism /online /enable-feature /featurename:IIS-ASPNET45

Quelle: http://support.microsoft.com/kb/2736284

ich auch Brute-Force installiert alle IIS-Features mit der folgenden Powershell:

import-module servermanager
add-windowsfeature web-server -includeallsubfeature

Quelle: http: / /www.iis.net/learn/install/installing-iis-85/installing-iis-85-on-windows-server-2012-r2

Nun meine App funktioniert.

Wir hatten eine MVC-Anwendung auf einen neuen Server umgezogen. .NET 4 und MVC 3 wurde installiert, aber wir haben immer noch „Error 403.14". In diesem Fall bedeutet dies, dass IIS nicht verstehen, dass es mit einer MVC-Anwendung zu tun hat, war es für die Standardseite suchen.

Die Lösung war einfach:. HTTP-Umleitung nicht auf dem Server installiert wurde

Server-Manager - Rollen - Web Server (IIS) - Rollen Services - HTTP-Umleitung: Nicht installiert. Installiert es, gelöstes Problem.

Auch wenn Ihre Anwendung vorkompilierte ist, sollten Sie haben

PrecompiledApp.config

im Stammordner Ihrer App sonst Sie HTTP Error 403.14 auch bekommen können.

Eine andere mögliche Lösung, wenn Sie Ihre global.asax bewegen, stellen Sie sicher, dass die Markup auf die richtige MvcApplication Klasse. Hoffentlich wird dies jemand in Zukunft sparen.

hatte ich die WebDeploy IIS-Erweiterung verwendet, um meine Webseiten von IIS6 IIS7.5 zu importieren, so dass alle der IIS-Einstellungen waren genau so, wie sie in der Produktionsumgebung waren. Nach dem Versuch, hier vorausgesetzt, dass alle Lösungen, von denen keine für mich gearbeitet, musste ich einfach die Einstellung Pool App ändern für die Website von Klassik bis Integrated.

Ich habe das gleiche Problem 404,14 plötzlich trifft. Schließlich wird das Problem durch Deaktivieren „precompile während der Veröffentlichung“ fixiert worden war, in den Veröffentlichungsprofil-Einstellungen.

ich meine Standardroute an einem Punkt geändert von:

routes.MapRoute(
"Default",
    "{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = UrlParameter.Optional }

An:

routes.MapRoute(
"Default",
    "{controller}/{action}/{id}",
    new { controller = "Home", action = "Index" }

Was mir Ihre Fehler gab. Gut, dass jemand erwähnt Routing, weil ich wahrscheinlich auf diese immer schon gewesen wäre.

In meinem Fall ASP.NET 4.5 ist nicht auf dem Server installiert, so dass die Installation von 4.5 ASP.NET das Problem behoben.

Sie können diesen Fehler beheben, indem Sie cmd als Administrator ausgeführt wird als eingeben Bild Beschreibung hier

Machen Sie dasselbe wie in Bild für Windows 32-Bit-

nur

Just make ändert sich in 64-Bit als Framework64 statt Rahmen Als unterwegs zu iis und aktualisieren Sie die Seite
Wenn u noch einige Fehler machen Änderungen in Anwendungspool erhält

Ich hatte ein anderes Problem, dass zu diesem Thema geführt.

  • Ich hatte mein app-Pool gewährleistet lief .net 4 in integriertem Modus
  • Ich hatte laufen aspnet_regiis.exe -i
  • hatte ich Ordner-Berechtigungen geprüft richtig für das Konto ausgeführt wurden meine app-Pool

Keines dieser Dinge gearbeitet. Es stellte sich heraus, dass in meinem web.config unter system.webServer> Module Ich hatte die folgende:

<remove name="WindowsAuthentication" />

Offensichtlich ist dies das Fenster Authentifizierungsmodul entfernt, die irgendwie schienen zu klopfen alles aus dem Gleichgewicht geraten.

Ich hoffe, das hilft jemand, da diese Kosten mich am meisten von einem Abend!

Die Benutzeroberfläche ist ein bisschen anders in den neueren Versionen von Windows Server. Hier ist, wo Sie ASP.Net, um ermöglichen müssen, um es arbeiten an IIS

Hinzufügen eine weitere Lösung für dieses Problem.

in meiner Global.asax.cs Datei hatte ich versucht, PHP-Dateien deaktiviert von der MVC-Pipeline verbraucht wird die folgende Verwendung:

routes.IgnoreRoute( "{*php}" );

hatte ich diese zuvor in einem MVC2 Projekt getan und es funktionierte gut, aber tun dies in meinem MVC 3 app verursacht das Problem oben berichtet.

Ein weiterer Grund, das kann passieren -. Ihre RouteConfig.cs oder WebApiConfig.cs sind ungültig

In meinem Fall hatte ich eine Route als solche definiert (man beachte die Klammer statt geschweifte Klammer):

...
routeTemplate: "api/(something}"
...

Bitte beachten Sie für Windows 8 Benutzer, die Sie hinzufügen müssen / Entfernen von Windows-Komponenten, und entfernen Sie die Version von .net Neustart dann um neu zu installieren, um es mit IIS zu registrieren. Ich nehme an, dies geschieht, wenn Sie get .net 4.5 von Visual Studio und installieren Sie IIS danach.

So seltsam es scheinen mag, Neuinstallation IIS war das, was für mich gearbeitet hat, mit dem folgenden Befehl laufen aus dem Inneren der .net-Version Ordner:

aspnet_regiis.exe /i

eingeben Bild Beschreibung hier

Als ich diesen Befehl ausführen, damit begonnen, ich 403,14 die HTTP-Fehler. Aber sobald ich den Befehl erneut runned löste es das Problem.

Obs : Eine andere Sache, die ich tat, war auch HTTP-Redirect entfernen von der Server-Funktionen in Server Management-Bildschirm vor IIS reiinstalling. Vielleicht hatte dies auch Auswirkungen auf das Problem zu lösen, aber ich bin nicht sicher. Also, wenn der Neuinstallation von IIS immer noch nicht funktioniert, versuchen Sie es HTTP-Redirect zu entfernen und versuchen Sie es erneut. Hoffentlich kann es auch für Sie arbeiten.

Um dieses Problem zu lösen, ohne zu 32-Bit-Modus zurückgreifen müssen Sie den Quellcode für dieses Projekt aktualisieren

public static void RegisterUrlRoutesFromAttributes(RouteCollection routes)
{
    // Enumerate assembly for UrlRoute attributes.
    List<MapRouteParams> routeParams = new List<MapRouteParams>();
    AppDomain.CurrentDomain.GetAssemblies()
        .ToList()
        .ForEach(assembly => routeParams.AddRange(GetRouteParamsFromAttributes(assembly)));

Ich habe dieses Problem als eine Diskussion über die Diskussionsrunde erhöht, bei dem IT Codeplex Projekt Wolke.

http://itcloud.codeplex.com/discussions/262000

Das ist für mich gearbeitet, und es könnte zu einem anderen nützlich sein.

Vielleicht alle erforderlichen Komponenten nicht vorhanden sind oder / und alle nicht korrekt registriert. Um dies zu lösen, versuchen, alle Optionen innerhalb der Systemsteuerung deaktivieren -> Windows-Funktionen ein- oder ausschalten -> Internet Information Services -> World Wide Web Services -> Funktionen zur Anwendungsentwicklung, deaktivieren Sie alle Optionen und die Prüfung wiederholt alle dann die IIS zurückgesetzt und überprüfen, ob das Problem gelöst ist.

Wenn Sie sich mit IIS 8.5 auf Windows 8 oder Server 2012, finden Sie vielleicht, dass Laufen mvc 4/5 (.net 4.5) funktioniert nicht in einem virtuellen Verzeichnis. Wenn Sie einen lokalen Host-Eintrag in der Host-Datei zu Punkt zurück auf dem lokalen Rechner erstellen und dann eine neue lokale IIS-Website zu diesem Ordner verweisen (mit dem Host-Header-Eintrag matching) Sie werden feststellen, es funktioniert dann.

habe ich einen neuen Namensraum (und damit Ordner) identisch mit der Route zu einem Controller (z MvcApp/Test/SomeClasses.cs und MvcApp/Controllers/TestController.cs). Dies führte auch zu einem 403.14!

Für mich war die Lösung des NuGet Paket Microsoft.AspNet.WebPages hinzuzufügen (plus es ist Razor und Infrastruktur-Abhängigkeiten) zu meinem Web-Projekt.

Infrastruktur mit Nachdruck neu installiert werden mußte, da es nicht als Referenz auf dem ersten hinzugefügt wurde.

In meinem Fall .NET CRL Version in Anwendungspool prppertires wurde auf Nein verwalteten Code (weiß nicht warum). Setzen auf .NET CRL Version v4.0.30319 wurde das Problem behoben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top