Warum verweigert IIS die Bereitstellung von ASP.NET-Inhalten?

16

Mein Windows Server 2003-Standardserver weigert sich, ASP.NET-Inhalte zu verarbeiten. Es liefert normales HTML, aber nichts .net, selbst eine einzeilige HTML-Datei mit einer ASPX-Erweiterung schlägt unbemerkt fehl.

Dinge, die ich versucht habe:

  • Im Ereignisprotokoll oder in den IIS-WWW-Protokollen wird nichts protokolliert, wenn dies fehlschlägt.
  • Fiddler zeigt keine Antwort
  • Ich habe .NET mit neu installiert
    • C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -U
    • C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I
  • Ich erteile allen möglicherweise relevanten Benutzern (IUSER *, ASP.NET usw.) unglaublich hohe Berechtigungen für alles, was mir einfällt (Vollzugriff, Lesen, Schreiben usw.).
  • Ich habe bestätigt, dass ASP.Net v1- und v2-Webdiensterweiterungen in IIS "zulässig" sind
  • Bestätigt, dass im Server-Manager IIS- und ASP.Net-Rollen aktiviert waren

Nochmals: Dies ist das Szenario:

Jede Anleitung wird sehr geschätzt!


Lösung: Ich habe nach den folgenden Anweisungen neu installiert und es funktioniert jetzt. Vielen Dank an alle!

Michael Haren
quelle

Antworten:

23

Ich bin mehrmals auf genau dieses Problem gestoßen, und jedes Mal lautete die Lösung:

  1. Gehen Sie zur Systemsteuerung
  2. Gehen Sie zum Bereich "Windows-Komponenten"
  3. IIS entfernen, deinstallieren lassen
  4. neustarten
  5. Fügen Sie IIS erneut hinzu ( stellen Sie sicher, dass Sie das ASP.NET-Material einschließen, wenn Sie die Kontrollkästchen deaktivieren ).
  6. Führen Sie Folgendes aus: C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I

Ich habe Stunden damit verbracht, dies bei einem Kunden zu debuggen, und das war der Trick. Seitdem war dies jedes Mal die Lösung.

Ich bin mir nicht sicher, was die Hauptursache ist, aber wir haben die IIS-Konfiguration auseinandergerissen, als wir versuchten, dies herauszufinden, und Microsoft RDCs für 2 oder 3 Stunden auf dem fraglichen Server installiert, und sie konnten auch nichts dagegen tun .

Also schreibe ich es als undokumentierten Fehler in ASP.NET/IIS ab.

Sam Schutte
quelle
1
Das hat es geschafft. So viel Zeit damit verschwendet mit einer so unbefriedigenden Lösung - ich hasse es, die eigentliche Ursache nicht zu kennen. Na ja, es funktioniert jetzt - vielen Dank, Sam!
Michael Haren
2
Schritt 6: C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I
Michael Haren
Kein Problem - ich bin froh, Ihnen behilflich zu sein, denn ich weiß, dass dies schmerzhaft ist!
Sam Schutte
Es kann auch sein, dass die eigentliche Ursache einfach eine fehlerhafte Installation ist. Ich weiß, wenn ich darauf stoße, sieht alles gut aus, aber ich gehe davon aus, dass die Registrierung oder Konfiguration aus irgendeinem Grund fehlerhaft ist.
Sam Schutte
Es kann sinnvoll sein, den Befehl in Schritt 6 als Code zu formatieren, um leichter erkennen zu können, dass das Flag ein 'i' in Großbuchstaben ist.
Dave Andersen
9

Versuchen Sie Folgendes : http: //localhost/blah.aspx (sollte keine Seite sein). Wenn Sie eine 404 anstelle der asp.net-Fehlerseite erhalten, wird asp.net nicht ausgeführt. Wenn Sie eine 403-Fehlermeldung erhalten, sind die Berechtigungen für die Site falsch.

Hier ist eine Checkliste, die helfen kann:

  • Läuft IIS?
  • Läuft Ihre Website?
  • Funktioniert der App-Pool für Ihre Website ordnungsgemäß?
  • Ist ASP.NET installiert und registriert?

    cd / d% windir% \ Microsoft.Net \ Framework \ v2.0.50727

    aspnet_regiis -ua

    aspnet_regiis -i -enable

  • Läuft ASP.NET?

Überprüfen Sie die Registerkarte "ASP.NET" in den Eigenschaften Ihrer Website. Stellen Sie sicher, dass die richtige Version verwendet wird.

  • Sind die Berechtigungen richtig eingerichtet?

Überprüfen Sie die Registerkarte "Basisverzeichnis" in den Eigenschaften Ihrer Site, und aktivieren Sie die Einstellung "Ausführungsberechtigungen". Sie sollte so eingestellt sein, dass Skripts zulässig sind. Überprüfen Sie auch die "Web Service Extensions", um sicherzustellen, dass asp.net ausgeführt werden darf.

Keil
quelle
Dies ist eine schöne Liste für zukünftige Referenz. Ich hatte das alles schon ausprobiert, mit Ausnahme der Schalter -a und -enable und der Idee blah.aspx. Neuinstallation von IIS war das, was es brauchte. Danke für die Hilfe!
Michael Haren
Wie sieht ein richtig laufender App-Pool aus? Wie sieht ein fehlerhaft laufender App-Pool aus?
Ian Boyd
Wo finde ich die "Web Service Extension", damit ich sicherstellen kann, dass asp.net ausgeführt werden darf?
Ian Boyd
3

Öffnen Sie den IIS-Manager, und klicken Sie im linken Bereich auf den Ordner "Web Service Extensions". Klicken Sie dann im rechten Bereich auf die ASP.NET-Erweiterung und dann auf die Schaltfläche Zulassen.

slolife
quelle
Es ist aber schon erlaubt, danke für den Vorschlag
Michael Haren
2

Sie müssen IIS nicht deinstallieren / erneut installieren, um die .net-Unterstützung gemäß der vorherigen Antwort wiederherzustellen. Führen Sie einfach das Dienstprogramm aspnet_regiis.exe aus, das sich im entsprechenden FrameWork-Ordner befindet, z.

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
Rechnung
quelle
Mache ich das anders als in meiner Frage vermerkt? Wenn nicht, dann habe ich das schon probiert.
Michael Haren
Aus irgendeinem Grund hilft es nicht, nur regiis auszuführen.
Sam Schutte