500 Interner Server Fehler beim Anfordern von Ressourcendateien (css, js, images) in einer .Net MVC 3-Site

7

UPDATE: Dinge, die ich versucht habe - siehe Antwort unten für die Lösung

  1. Ich habe eine neue MVC3-Site installiert und die Ressourcen ordnungsgemäß bereitgestellt. Das hat die machine.config Einstellungen als Problem beseitigt.
  2. Ich habe dann Abschnitt für Abschnitt in der web.config, um zu sehen, ob bestimmte Änderungen in web.config das Problem verursacht haben. Wenn die Configs identisch waren, funktionierte die neue Site noch und die alte Site war immer noch defekt.
  3. Ich habe IIS deinstalliert, IIS neu installiert und anschließend Apps erneut installiert, um alle Einstellungen zu löschen, die sich dort befanden. Immer noch gebohrt.
  4. Ich habe dann publish (statt msi deploy) im neuen Verzeichnis verwendet. Ich benutzte die IIS-Option, um "Anwendung erstellen" auf einem neuen Verzeichnis mit genau demselben Code, der defekt ist. Dinge haben perfekt funktioniert.
  5. Ich habe Dateiberechtigungen angenommen, also habe ich ein fehlerhaftes Verzeichnis gelöscht und eine neue Arbeitsversion in einen alten Verzeichnisnamen umbenannt. Die Seite war immer noch ausgebrochen. Dies ließ mich annehmen, dass einige IIS-Einstellungen, die nicht in der machine.config oder web.config sind, dafür verantwortlich sind.
  6. Ich habe den IIS 6 Metabase Explorer verwendet (ja, ich habe ihn auf der IIS 8 Seite verwendet) und habe einige Einträge gesehen, die nicht in der Arbeitswebsite waren. Nach dem Löschen eines nach dem anderen fand ich, dass der Eintrag "scriptMaps", der während unserer MSI-Installation hinzugefügt wurde, ein Problem verursachte. Dies wurde hinzugefügt, um während der Installation automatisch Platzhalterzuordnungen hinzuzufügen. Es funktioniert auf IIS6, aber anscheinend nicht auf IIS8.

Wir haben eine Webforms- und MVC3-Anwendung, die wie eine Anwendung aussieht. Dies wird in vielen Umgebungen (2003, 2008, Win 7) eingesetzt und funktioniert ordnungsgemäß. Ich habe diese Anwendungen gerade auf einem neuen Windows Server 2012-Rechner eingerichtet, und alles funktioniert, außer dass ich Ressourcendateien für die MVC-Site erhalte. Der Browser erhält ein

%Vor%

Auf die Ressourcen wird in _layout.cshtml

verwiesen %Vor%

sowie den telerik scriptmanager:

%Vor%

Wenn ich versuche, direkt zu der Javascript-Datei zu navigieren, bekomme ich denselben Fehler:

%Vor%

Einige seltsame Sachen:

  1. Wenn IISReset und die js-Datei drücken, wird nur die erste Anfrage funktionieren.

  2. Jede js, css oder ein Bild, das von einer anderen (webforms) Website (gleicher App-Pool) auf dem Server angefordert wird, funktioniert einwandfrei.

  3. Im Ereignisprotokoll ist nichts mit diesem 500-Fehler verbunden.

Ich habe versucht, dem Benutzer, der den App-Pool ausführt, Berechtigungen voller Berechtigungen hinzuzufügen. Ich habe auch Dateiberechtigungen für die [Maschine] \ IUSR hinzugefügt.

Hier ist meine web.config

%Vor%

Alle Ressourcen, egal ob sie Telerik verwenden oder sie mit dem Skript-Tag hinzufügen, geben den Fehler 500 aus. Der Controller und die Ansicht werden korrekt angezeigt (ohne Styles oder JavaScript)

BEARBEITEN:

Routen registrieren:

%Vor%     
Dan Kaufman 05.09.2013, 17:14
quelle

3 Antworten

4

Wie in meinen Änderungen erwähnt. Das Problem war eine falsche IIS-Einstellung, die ich mit dem IIS 6 Metabase Explorer gefunden habe.

Ich habe den IIS 6 Metabase Explorer verwendet (ja, ich habe ihn auf der IIS 8 Site verwendet) und habe einige Einträge gesehen, die nicht auf der Arbeitswebsite waren. Nach dem Löschen eines nach dem anderen fand ich, dass der Eintrag "scriptMaps", der während unserer MSI-Installation hinzugefügt wurde, ein Problem verursachte. Dies wurde hinzugefügt, um während der Installation automatisch Platzhalterzuordnungen hinzuzufügen. Es funktioniert auf IIS6, aber anscheinend nicht auf IIS8.

Ich bin mir nicht sicher, warum die Dateien bei der ersten Anfrage richtig ankommen würden, aber nicht bei nachfolgenden Anfragen, aber das Entfernen des Eintrags hat funktioniert. Ich konnte die "ScriptMaps" -Einstellung nirgendwo in der IIS-GUI finden, aber sie ist wahrscheinlich irgendwo dort.

    
Dan Kaufman 09.09.2013, 20:39
quelle
18

Ich habe den gleichen Fehler erhalten, als ich meine Site von lokal (Windows 7) auf den Server (Windows 2012) veröffentlicht habe.

Mein lokaler IIS hat diesen Code hinzugefügt:

%Vor%

Wo ich das bei Win 2012 gebraucht habe

%Vor%

Es scheint, dass die neuere Version von IIS auf Win2012 bereits .woff hinzugefügt hat und anstatt mir irgendwelche Details zu geben, ist es einfach 500 gegangen!

    
Vaibhav Garg 07.09.2015 05:19
quelle
1

Zu meiner Situation habe ich diesen Fehler bei der Ausführung meiner Anwendung in Windows 8.0 festgestellt.

Nachdem ich den Mini-Typ von .woff von 'font / x-woff' in 'application / x-font-woff' in IIS geändert habe, funktioniert es gut. (Nachdem ich den Minityp geändert habe, wurde meine Webkonfiguration hinzugefügt. 'in staticContent automatisch)

    
Philo 07.05.2014 08:23
quelle