Jak mogę włączyć pobieranie plików * .json ze starej witryny ASP.NET (uważam, że IIS6)?
Otrzymuję stronę 404 zamiast pliku JSON.
Czy muszę utworzyć plik web.config? Co w tym jest?
Jak mogę włączyć pobieranie plików * .json ze starej witryny ASP.NET (uważam, że IIS6)?
Otrzymuję stronę 404 zamiast pliku JSON.
Czy muszę utworzyć plik web.config? Co w tym jest?
Odpowiedzi:
Dodaj typ JSON MIME do usług IIS 6. Postępuj zgodnie z instrukcjami podanymi w sekcji Konfigurowanie typów MIME (IIS 6.0) witryny MSDN .
Nie zapomnij o ponownym uruchomieniu usług IIS po zmianie.
AKTUALIZACJA: W usługach IIS7 i nowszych można to łatwo zrobić. Operator specjalnie poprosił o pomoc w usługach IIS6, więc pozostawiam tę odpowiedź bez zmian. Ale ta odpowiedź wciąż generuje duży ruch, mimo że usługi IIS6 są teraz bardzo stare. Mam nadzieję, że używasz czegoś nowszego, więc chciałem wspomnieć, że jeśli masz nowszą wersję IIS7 lub nowszą, zobacz odpowiedź @ ProVega poniżej, aby uzyskać prostsze rozwiązanie dla tych nowszych wersji.
.ASPX
. Ponownie przejście na serwer z usługami IIS7 oferuje znacznie więcej i łatwiejszych rozwiązań.
Jeśli chcesz ręcznie dodać obsługę do swojej witryny, możesz po prostu dodać następujące elementy do swojego pliku web.config w sekcji system.webServer :
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
Spowoduje to dodanie konfiguracji „lokalnej” w usługach IIS. To nie działa w usługach IIS6, ale działa w usługach IIS7 i nowszych.
web.config
ścieżkę.
Cannot add duplicate collection entry of type 'mimeMap' with unique key attribute 'fileExtension' set to '.csv'
Po usunięciu duplikatu nie ma problemu.
Przejdź do IIS, wybierz swoją aplikację i znajdź typy MIME
Kliknij Dodaj z prawego panelu
Rozszerzenie nazwy pliku = .json
Typ MIME = application / json
Po dodaniu .json typ pliku w typów MIME , Restart IIS i próby uzyskania dostępu do pliku json
Przejdź do web.config tej aplikacji i dodaj do niej te linie
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>
Dodając obsługę typu MIME (zgodnie z sugestią @ProVega), najlepiej jest również usunąć typ przed dodaniem - ma to zapobiec nieoczekiwanym błędom podczas wdrażania na serwerach, na których obsługa tego typu już istnieje, na przykład:
<staticContent>
<remove fileExtension=".json" />
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
C:\Windows\System32\inetsrv\config
: applicationHost.config
Właśnie miałem ten problem, ale musiałem znaleźć konfigurację dla IIS Express, aby dodać typy MIME. Dla mnie znajdowała się pod adresem C:\Users\<username>\Documents\IISExpress\config\applicationhost.config
i mogłem tam dodać poprawną „mapę mime”.
<mimeMap>
węzłem: <remove fileExtension=".json" />
. Nie powinieneś musieć dotykać pliku applicationhost.config (lub machine.config). Biorąc to pod uwagę, modyfikowanie tych plików może być przydatne, jeśli często tworzysz nowe witryny i nie chcesz modyfikować pliku web.config dla każdej witryny. To może działać w środowiskach deweloperskich, ale często nie możesz dotknąć pliku machine.config w środowiskach produkcyjnych, więc nadal zalecałbym wprowadzenie zmiany w pliku web.config.
remove
klucz był dla mnie kluczem