Von einer .Net 4.5-Website kann nur 403 abgerufen werden

10

Szenario: Clean Server 2008 R2-Installation mit IIS-Rolle.

Installiertes Framework 3.5 (Serverfunktionen) Installiertes Framework 4.5 RC (MS Download)

hingerichtet

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis.exe -i

(Ich würde -iruauf vorhandenen Servern verwenden, aber dies ist ein sauberer Build).

Veröffentlicht über das Dateisystem (SMB-Freigabe)

Konvertierte den Ordner mithilfe des .Net 4.0 Integrated App Pool in eine Anwendung

Alles gestoppt / neu gestartet.

Das Durchsuchen von localhost/TestAppführt zu einem 403.14 (Durchsuchen von Verzeichnissen verboten)

Welchen Schritt habe ich verpasst? Die fragliche Site ist MVC4 und zielt auf das 4.5 RC-Framework ab

Basic
quelle
Haben Sie sichergestellt, dass Ihr Standarddokument in der Liste der Standarddokumente enthalten ist?
Brent Pabst
@BrentPabst Da es sich um MVC handelt, gibt es kein Standarddokument. Es basiert auf dem Umschreiben der URL durch IIS, um zu bestimmen, welcher Controller / welche Aktion ausgeführt werden soll. Wenn das fehlschlägt, würde ich eine andere Fehlermeldung erwarten. Es fühlt sich so an, als würde die URL-Analyse nicht aufgerufen, was normalerweise bedeutet, dass .Net nicht ordnungsgemäß in IIS registriert ist. Having said that, es wird registriert , und ich habe die entsprechenden installiert IIS Rollen (eigentlich habe ich jetzt habe alle die Rollen IIS) , damit ich ein wenig unsicher bin , wie am besten , diese zu diagnostizieren
Grund
Entschuldigung, ich bin blind und habe den 4.5 MVC Teil verpasst. Warum haben Sie .NET 4.0 nach der Installation von 4.5 registriert? Ich musste .NET noch nie auf einem Webserver registrieren, da das Installationsprogramm dies automatisch tut. Wie auch immer, ich denke, Sie haben die falschen .NET-Handler registriert. Mit 4.5 und MVC sollte jedoch mindestens ein YSOD angezeigt werden, der besagt, dass der globale ASAX nicht geladen werden kann.
Brent Pabst
@BrentPabst Ich musste aspnet_regiisvorher aber nur, wenn IIS nach .Net installiert ist (scheint vernünftig). Das war hier nicht der Fall, aber da so viele der vorgeschlagenen Antworten dies als Problem erwähnen, dachte ich, ich würde es versuchen. 4.5 4.0 vollständig ersetzen. Ich bin damit einverstanden, YSOD nicht zu bekommen ist seltsam - Wie gesagt, es sieht so aus, als würde es überhaupt nicht als .Net-Seite behandelt
Basic
1
Ich bin froh, dass alles geklappt hat. Dein Kopf muss bereit gewesen sein zu explodieren!
Brent Pabst

Antworten:

21

Ich hatte ein ähnliches Problem. Dieser Thread /programming/2374957/asp-net-mvc-on-iis-7-5 hat es für mich gelöst. Versuchen Sie grundsätzlich, dies zu Ihrer web.config hinzuzufügen:

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

Wenn dies funktioniert, können Sie versuchen, es zu entfernen und stattdessen diesen Hotfix zu installieren: http://www.microsoft.com/en-us/download/details.aspx?displaylang=de&id=5272

Shildrak
quelle
Danke, das hat es gelöst. Ich habe stundenlang meinen Kopf dagegen geschlagen. Sie würden den Kummer nicht glauben, den ich vom Büro "Linux Guy" erhalten habe. In diesem Fall denke ich, dass er einen Punkt hat ...
Basic
1
Vielen Dank! In meinem Fall hat runAllManagedModulesForAllRequests nicht geholfen, aber der Hotfix hat geholfen.
NateTheGreat
Für mich hat auch runAllManagedModulesForAllRequests nicht geholfen, aber der Hotfix hat - danke für den Link
Anil Purswani
Du hast meinen Tag gerettet!
Labilbe
0

Die Benutzeroberfläche ist in den neueren Versionen von Windows Server etwas anders. Hier müssen Sie ASP.Net aktivieren, damit es unter IIS funktioniert

Fix IIS & Asp.net

Matthew Zourelias
quelle