Hey, ich habe ein Problem mit der .NET framework 4.0
-Website auf IIS7.0
. Der Fehler ist wie folgt:
HTTP-Fehler 404.2 - Nicht gefunden "Die angeforderte Seite kann aufgrund der Einstellungen der ISAPI
- und CGI
Restriktionsliste auf dem Webserver nicht bereitgestellt werden".
Module : IsapiModule ,
Notification : ExecuteRequestHandler,
Handler : PageHandlerFactory-ISAPI-4.0_32bit ,
Error Code : 0x800704ec
Gehen Sie zu IIS Manager und klicken Sie auf den Servernamen. Klicken Sie dann auf das Symbol "ISAPI- und CGI-Einschränkungen" unter der Kopfzeile IIS. Ändern Sie ASP.NET 4.0 von "Nicht zulässig" in "Zulässig".
Wenn Sie in den ISAPI- und CGI-Einschränkungen nachsehen und bereits alles auf Allowed gesetzt ist, stellen Sie sicher, dass die ASP.NET v4.0.30319 -Handler in der Liste enthalten sind. In meinem Fall waren sie nicht. Dies kann leicht übersehen werden.
Ich habe eine für 32 %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
und eine weitere für 64-Bit %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll
hinzugefügt. Sie können beide den gleichen ASP.NET v4.0.30319
benennen.
Aktivieren Sie Erweiterungspfad zulassen.
In meinem Fall war das Problem schwerwiegender: Asp.net wurde nicht korrekt registriert.
Diese Antwort hat gut funktioniert .
führen Sie einfach den folgenden Befehl an der Eingabeaufforderung aus
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
Wenn ich auf einem 32-Bit-System gewesen wäre, hätte es wie folgt ausgesehen:
%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i
(PC-Name)\
.Schritt 1: Öffnen Sie IIS und klicken Sie auf den Servernamen Schritt 2. Doppelklicken Sie auf "ISAPI- und CGI-Einschränkungen" Schritt 3. Klicken Sie mit der rechten Maustaste auf ASP.NET v4.0.30319, und wählen Sie "Zulassen".
Nach Beenden und Starten des WWW-Publishingdienstes
1.Gehen Sie zu Start> Alle Programme> Verwaltung> Dienste. 2. Klicken Sie mit der rechten Maustaste in der Diensteliste auf WWW-Publishing-Dienst, und klicken Sie dann auf Beenden (um den Dienst zu stoppen) und auf Start (um ihn danach zu starten es wurde gestoppt) oder Neustart (um den Dienst neu zu starten, wenn er ausgeführt wird).
Pramesh
Wenn Sie Delphi oder eine andere native kompilierte CGI ausführen, funktioniert diese Lösung:
Gehen Sie wie in anderen Fällen zu IIS manager und klicken Sie auf den Servernamen. Klicken Sie dann auf das Symbol "ISAPI- und CGI-Einschränkungen" unter der Kopfzeile IIS.
Wenn Sie alles erlaubt haben, wird es trotzdem nicht funktionieren. Klicken Sie in Aktionen (auf der rechten Seite) auf "Feature-Einstellungen bearbeiten" und aktivieren Sie "Nicht angegebene CGI-Module zulassen" bzw. "Nicht spezifizierte ISAPI-Module zulassen".
OK klicken
In unserem Fall umfasste die Lösung dieses Problems nicht die Einstellungen "ISAPI- und CGI-Einschränkungen". Der Fehler trat auf, nachdem das Betriebspersonal den Server versehentlich auf .NET 4.5 aktualisiert hatte und anschließend erneut auf .NET 4.0 heruntergestuft wurde. Dies hat dazu geführt, dass einige der IIS - Websites ihre jeweiligen korrekten Anwendungspools vergessen haben und dass einige Anwendungspools von .NET Framework 4.0 auf 2.0 umgestellt wurden. Durch das Zurücksetzen dieser Einstellungen wurde das Problem behoben.
Ändern Sie den verwalteten App Pool des verwalteten Pipeline-Modus von "Integration" in "Classic".
Je nach Art der Anwendung müssen Sie unter Erweiterte Einstellungen für den Anwendungspool prüfen, ob "32-Bit-Anwendungen aktivieren" auf "True" gesetzt ist.
Ich hatte alles in diesem Thread überprüft, als ich dieses Problem hatte, aber alles war bereits richtig eingerichtet. Ich stellte fest, dass dies das Problem für mich war.