Ich habe eine .net4.5 ASP.NET MVC4-Webanwendung erstellt, die lokal einwandfrei funktioniert (IIS Express- und Entwicklungsserver), aber sobald ich sie auf meinem Webserver bereitstelle, wird der Fehler 403 ausgegeben. Ich habe .Net 4.5RC auf dem Server installiert und sogar das aspnet_regiis -i
Bit ausprobiert, das
jeder für seine Probleme mit früheren Versionen von MVC / .Net empfohlen hat, aber es hat nicht geholfen.
Irgendwelche Ideen?
EDIT : Mehr Infos zur Situation. Der Server ist 32bit und ich habe 4 andere MVC3-Anwendungen, die gut funktionieren. Es ist nur meine MVC4-App, die nicht funktioniert.
.net
asp.net-mvc
asp.net-mvc-4
iis
http-status-code-403
mithun_daa
quelle
quelle
Antworten:
Versuchen
Über
/server/405395/unable-to-get-anything-except-403-from-a-net-4-5-website
quelle
Fehler 403.14 ist der HTTP-Fehlercode, mit dem der Inhalt eines Verzeichnisses nicht aufgelistet werden darf. Bitte stellen Sie sicher, dass
Normalerweise sind a und d die größten Probleme bei MVC-Bereitstellungen in IIS
quelle
Vielleicht ... Wenn Sie zufällig den Veröffentlichungsassistenten verwenden (wie ich) und das Kontrollkästchen "Während der Veröffentlichung vorkompilieren" aktivieren (wie ich) und dieselben Symptome sehen ...
Ja, ich habe mich über den Kopf geschlagen, aber nachdem ich dieses Kontrollkästchen deaktiviert habe, eine scheinbar nicht verwandte Einstellung, verschwinden alle beschriebenen Symptome nach der erneuten Bereitstellung.
Hoffentlich behebt dies einige Leute.
quelle
Windows-> Start -> Witwenfunktionen ein- und ausschalten
Stellen Sie sicher, dass Sie die erforderlichen Optionen aktivieren
quelle
Vor der Bewerbung
Betrachten Sie den folgenden Link, der eine weniger drastische Alternative vorschlägt. In dem Beitrag bietet der Autor die folgende Änderung an der lokalen web.config an:
http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html
quelle
In Visual Studio 2012 gibt es einen Refactor -> Rename Bug , der die "id" im Literal-String- Wert des URL-Parameters in meiner RouteConfig.cs fälschlicherweise umbenannt hat. Dies führte zu einem 403.14 bei einem neuen und ansonsten korrekten Setup in Windows Server 2012 und Windows Server 2008 R2.
wurde geändert in
quelle
null
denname
Parameter eingeben kann, um zu vermeiden, dass für jede Route ein Name erstellt wird. Es stellt sich heraus, dass dies manchmal auch einen 403 verursacht (nur in unserer Produktumgebung Win Server 2008 R2 mit .NET 4.5.1, MVC 5 in einem VS2013-Projekt. Um dies zu beheben, habe ich für jede Route einen Namen hinzugefügt.Sie können auch eine 403 erhalten, wenn Sie beim Testen mit einem Dev-Server eine integrierte Pipeline verwenden und diese dann als klassischen Pipeline-Modus auf Ihrem Live-IIS 7.5-Webserver installieren. Außerdem fehlte mir der Ordner app_data, der ebenfalls erforderlich war
quelle
Wenn Sie IIS 8.5 unter Windows 8 oder Server 2012 ausführen, funktioniert mvc 4/5 (.net 4.5) möglicherweise nicht in einem virtuellen Verzeichnis. Wenn Sie in der Hostdatei einen lokalen Hosteintrag erstellen, der auf Ihren lokalen Computer verweist, und dann eine neue lokale IIS-Website auf diesen Ordner verweisen (mit dem passenden Hostheadereintrag), funktioniert dieser dann.
quelle
Sie können den obigen Code verwenden
quelle
Ich hatte den Anwendungspool der neuen App auf den
DefaultAppPool
in IIS eingestellt, mit dem offensichtlich dieClassic
Pipeline verwendet wird.NET v.2.0
.Um das Problem zu lösen, habe ich mithilfe der
Integrated
Pipeline und einen neuen App-Pool erstellt.NET v4.0
. Nur für diese neue Anwendung und dann fing alles an, wie erwartet zu funktionieren.Vergessen Sie nicht, diesen neuen App-Pool der Anwendung zuzuweisen. Wählen Sie die Anwendung in IIS aus, klicken Sie auf
Basic Settings
und wählen Sie dann den neuen App-Pool für die App aus.quelle
Das, was ich in letzter Zeit häufiger sehe, ist IIS und ermöglicht die Ausführung von 32-Bit-Anwendungen
Ist es das, was du versucht hast? Andernfalls benötigen wir weitere Informationen zu Produktions- und Entwicklungsserverversionen
quelle
Ich habe ein etwas anderes Problem. Auf Server 2012 habe ich irgendwie vergessen, asp.net 4.5 zu aktivieren. Wenn Sie dieses Problem haben, überprüfen Sie, ob Sie es aktivieren.
quelle
Ich verwende Windows Server 2012 R2 unter Azure und ASP.NET 4.5, IIS 8
Ich habe dieses Problem gelöst, indem ich alle ASP.NET-Elemente in Programme und Funktionen deinstalliert und dann ASP.NET wie folgt mit dem Server-Manager mithilfe von Rollen und Funktionen neu installiert habe: Auswahl der rollenbasierten oder funktionsbasierten Installation, Auswahl meines Servers und dann Wählen Sie für Serverrolle auswählen die Option Webserver (IIS) / Webserver / Anwendungsentwicklung aus, klicken Sie auf ASP.NET 4.5, bestätigen Sie die Installation einer Voraussetzung und installieren Sie ASP.NET 4.5 erneut.
Meine früheren Suchanfragen hatten mich zu der Annahme geführt, dass das Problem tatsächlich auf ein Registrierungsproblem bei ASP.NET zurückzuführen ist. In früheren Versionen von ASP.NET gibt es tatsächlich ein Dienstprogramm, mit dem Sie ASP.NET registrieren können, ohne es erneut zu installieren. Dieses Dienstprogramm scheint jedoch nicht mehr verfügbar zu sein.
quelle
Ich löse das Problem beim Öffnen des Visual Studios, beim Erweitern der Referenzen und beim Ändern der Eigenschaft "Copy Local" in "True".
Ich stelle fest, dass ich die DLLs der alten Version mit den DLLs meiner neuen Version vergleiche (das hat nicht funktioniert).
quelle
In meinem Fall war die Standardseite meiner Anwendung index.html, die in den Standarddokumentoptionen fehlte. Durch Hinzufügen wurde der Fehler 403.14 Verboten behoben.
quelle
In meinem Fall wurde das Problem durch ein benutzerdefiniertes ActionFilterAttribute verursacht, das eine Art globales Filterattribut war. Das Attribut hat einen Dienst über Autofac instanziiert, aber der Dienst ist im Konstruktor abgestürzt:
quelle
In meinem Fall haben weder Windows-Funktionen noch
aspnet_regiis -i
die Arbeit nicht erledigt. Nach stundenlangem Stöbern im Internet habe ich meine eigene Lösung gefunden:Im IIS-Manager in Modulen habe ich die Vererbung in lokal im Knoten UrlRoutingModule-4.0 geändert:
In web.config habe ich eine Mischung aus einigen Tipps aus diesem Forum eingefügt:
Ich hoffe es hilft
quelle