3 Stimmen

ASP.NET MVC 2, Windows XP und IIS 5.1

Ich bekomme Kopfschmerzen, wenn ich versuche, MVC 2 auf XP's IIS zu hosten! (Dies ist auf VS 2008, gilt wahrscheinlich aber auch für VS 2010.)

Nach langem Kampf habe ich schließlich einen Weg gefunden, um meine MVC 2-Site von IIS 5.1 anzuzeigen, aber das Problem ist, dass kein Styling vorhanden ist! Irgendwelche Ideen, wie ich das beheben sollte?

Das Problem liegt wahrscheinlich am Pfad. Wenn ich den Empfehlungen aus dem obigen Link folge, und den relativen Pfad meines CSS-Links von auf ="" rel="stylesheet" type="text/css" /> ändere, erfolgen keine Konvertierungen. Wenn ich es auf ="" rel="stylesheet" type="text/css" /> ändere, erhalte ich den Fehler "Neue Zeile in konstante".

EDIT: Der normale " rel="stylesheet" type="text/css" /> übersetzt sich zu (wo Mvc2.VS2008 mein Website-Stammverzeichnis ist), aber Content/Site.css wird auf diese Weise gehostet nicht gefunden.

1voto

Peet Brits Punkte 2176

Ich bin mir nicht genau sicher, was das Problem war, aber der Wert, der von Url.Content() zurückgegeben wurde, wurde vom IIS-Server nicht erkannt (du konntest ihn nicht aus dem Browser abrufen). Eigentlich sollte ich es für einfache Links sowieso nicht benötigen.

Schritte zum Beheben:

  1. IIS 5.1 vollständig neu installieren (deinstallieren, neu starten, C:\Inetpub-Ordner löschen, installieren).
  2. .NET für IIS registrieren (zuerst v2, dann v4): (Fehlermeldung = "Failed to access IIS metabase")
    • Im Eingabeaufforderungsfenster zum entsprechenden Ordner gehen (z.B. cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727)
    • aspnet_regiis -i
    • iisreset
      • Falls dieser Schritt mit dem Fehler "Der Dienst hat nicht rechtzeitig auf Start oder Steuerungsanforderung reagiert. (2147943453, 8007041d)" fehlschlägt, fluche leise vor Frustration und starte die Seite manuell durch die IIS-Konsole neu (Start -> Programme -> Verwaltungstools -> Internetinformationsdienste). Wenn du (zu Recht) paranoid bist, starte deinen PC neu.
  3. LESEN-Zugriff für Jeden hinzufügen
    • MetaAcl herunterladen
    • Die Eingabeaufforderung öffnen
    • Metaacl.vbs "IIS://localhost/W3SVC"
      • Aktuellen Zugriff anzeigen (Jeder hat nur E)
    • Metaacl.vbs "IIS://localhost/W3SVC" Jeder R
      • DAS HAT ES BEHOBEN
  4. IIS-Virtualverzeichnis hinzufügen
    • Du weißt schon, in der IIS-Konsole für die "Standardwebsite".
  5. Erinnerungen zum Veröffentlichen: (das solltest du bereits wissen)
    • Windows-Authentifizierung ( in web.config) erfordert, dass du die Integrierte Windows-Authentifizierung in den IIS-Verzeichnissicherheitseinstellungen aktivierst.
    • Es hilft, den anonymen Zugriff zu deaktivieren. (Füge in web.config hinzu oder deaktiviere "anonymen Zugriff" in den IIS-Verzeichnissicherheitseinstellungen)
  6. IIS-Virtualordner konfigurieren
    • IIS-Konfigurationszuordnungen (Rechtsklick auf den virtuellen Ordner -> Eigenschaften -> Virtueller Verzeichnis-Tab -> Konfiguration -> Zuordnungen-Tab)
    • Erweiterung ".*" hinzufügen, Ausführungspfad = (kopieren von der ".aspx"-Erweiterung)
    • "Prüfen, ob die Datei vorhanden ist" deaktivieren
    • OK klicken (das versteht sich von selbst)
  7. Lade deine Website in deinem bevorzugten Browser.

Jetzt sollte alles in Ordnung sein (es hat auf meinem PC funktioniert). Es sollte nicht länger notwendig sein, Url.Content() zu verwenden, und das Styling sollte einfach funktionieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X