Wie kann ich den Download von * .json-Dateien von einer alten ASP.NET-Site aktivieren (IIS6, wie ich glaube)?
Ich erhalte eine 404-Seite anstelle der JSON-Datei.
Muss ich eine web.config-Datei erstellen? Was ist drin?
Wie kann ich den Download von * .json-Dateien von einer alten ASP.NET-Site aktivieren (IIS6, wie ich glaube)?
Ich erhalte eine 404-Seite anstelle der JSON-Datei.
Muss ich eine web.config-Datei erstellen? Was ist drin?
Antworten:
Hinzufügen des JSON-MIME-Typs zu IIS 6. Befolgen Sie die Anweisungen unter MSDN Configure MIME Types (IIS 6.0) .
Vergessen Sie nicht, IIS nach der Änderung neu zu starten.
UPDATE: Es gibt einfache Möglichkeiten, dies unter IIS7 und neuer zu tun. Die Operation hat speziell um IIS6-Hilfe gebeten, daher lasse ich diese Antwort unverändert. Aber diese Antwort bekommt immer noch viel Verkehr, obwohl IIS6 jetzt sehr alt ist. Hoffentlich verwenden Sie etwas Neueres. Wenn Sie ein neueres IIS7 oder eine neuere Version haben, finden Sie in der Antwort von @ ProVega unten eine einfachere Lösung für diese neueren Versionen.
.ASPX
. Auch hier bietet der Wechsel zu einem Server mit IIS7 viele weitere und einfachere Lösungen.
Wenn Sie Ihrer Site manuell Unterstützung hinzufügen möchten, können Sie Ihrer web.config im Abschnitt system.webServer einfach Folgendes hinzufügen :
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
Dadurch wird eine "lokale" Konfiguration unter IIS hinzugefügt. Dies funktioniert nicht in IIS6, aber in IIS7 und neueren Versionen.
web.config
Pfad.
Cannot add duplicate collection entry of type 'mimeMap' with unique key attribute 'fileExtension' set to '.csv'
Sobald ich das Duplikat entfernt habe, kein Problem.
Gehen Sie zu IIS, wählen Sie Ihre Anwendung aus und suchen Sie nach MIME-Typen
Klicken Sie im rechten Bereich auf Hinzufügen
Dateinamenerweiterung = .json
MIME-Typ = application / json
Nach dem Hinzufügen .json Dateitypen in MIME - Typ , IIS neu starten und versuchen , dem Zugriff auf JSON - Datei
Gehen Sie zu web.config dieser Anwendung und fügen Sie diese Zeilen hinzu
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>
Wenn Sie Unterstützung für Mimetyp hinzufügen (wie von @ProVega vorgeschlagen), empfiehlt es sich auch, den Typ vor dem Hinzufügen zu entfernen. Dies verhindert unerwartete Fehler bei der Bereitstellung auf Servern, auf denen bereits Unterstützung für den Typ vorhanden ist, z.
<staticContent>
<remove fileExtension=".json" />
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
C:\Windows\System32\inetsrv\config
Datei: applicationHost.config
Hatte gerade dieses Problem, musste aber die Konfiguration für IIS Express finden, damit ich die MIME-Typen hinzufügen konnte. Für mich befand es sich bei C:\Users\<username>\Documents\IISExpress\config\applicationhost.config
und ich konnte dort die richtige "Pantomime-Karte" hinzufügen.
<mimeMap>
Knoten hinzufügen : <remove fileExtension=".json" />
. Sie sollten nicht die applicationhost.config (oder machine.config) berühren müssen. Das Ändern dieser Dateien kann jedoch nützlich sein, wenn Sie häufig neue Websites erstellen und nicht die web.config für jede Website ändern müssen. Das mag für Entwicklungsumgebungen funktionieren, aber häufig können Sie die machine.config in Produktionsumgebungen nicht berühren. Daher würde ich dennoch empfehlen, die Änderung in der web.config vorzunehmen.
remove
war der Schlüssel für mich