Bagaimana saya bisa mengaktifkan unduhan * .json file dari situs ASP.NET lama (IIS6 saya dituntun untuk percaya)?
Saya mendapatkan halaman 404 alih-alih file JSON.
Apakah saya perlu membuat file web.config? Apa yang ada di dalamnya?
Bagaimana saya bisa mengaktifkan unduhan * .json file dari situs ASP.NET lama (IIS6 saya dituntun untuk percaya)?
Saya mendapatkan halaman 404 alih-alih file JSON.
Apakah saya perlu membuat file web.config? Apa yang ada di dalamnya?
Jawaban:
Tambahkan tipe JSON MIME ke IIS 6. Ikuti petunjuk di Configure MIME Types MSDN (IIS 6.0) .
Jangan lupa untuk me-restart IIS setelah perubahan.
PEMBARUAN: Ada cara mudah untuk melakukan ini di IIS7 dan yang lebih baru. Operasi khusus meminta bantuan IIS6 jadi saya meninggalkan jawaban ini apa adanya. Tetapi jawaban ini masih mendapatkan banyak lalu lintas meskipun IIS6 sudah sangat tua sekarang. Semoga Anda menggunakan sesuatu yang lebih baru, jadi saya ingin menyebutkan bahwa jika Anda memiliki IIS7 yang lebih baru atau versi yang lebih baru lihat jawaban @ ProVega di bawah ini untuk solusi yang lebih sederhana untuk versi yang lebih baru.
.ASPX
. Sekali lagi, beralih ke server dengan IIS7 menawarkan banyak solusi yang lebih mudah.
Jika Anda ingin secara manual menambahkan dukungan ke situs Anda, Anda bisa menambahkan yang berikut ke web.config di bagian system.webServer :
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
Ini akan menambahkan konfigurasi "lokal" di bawah IIS. Ini tidak berfungsi di IIS6, tetapi bekerja di IIS7 dan yang lebih baru.
web.config
path lengkap .
Cannot add duplicate collection entry of type 'mimeMap' with unique key attribute 'fileExtension' set to '.csv'
Setelah saya menghapus duplikatnya, tidak ada masalah.
Buka IIS, Pilih aplikasi Anda dan Temukan Jenis MIME
Klik Tambah dari panel Kanan
Ekstensi Nama File = .json
Jenis MIME = application / json
Setelah menambahkan jenis file .json di Jenis MIME , Restart IIS dan coba akses file json
Buka web.config aplikasi itu dan tambahkan baris ini di dalamnya
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>
Saat menambahkan dukungan untuk mimetype (seperti yang disarankan oleh @ProVega) maka itu juga merupakan praktik terbaik untuk menghapus jenis sebelum menambahkannya - ini adalah untuk mencegah kesalahan tak terduga ketika menggunakan ke server di mana dukungan untuk jenis tersebut sudah ada, misalnya:
<staticContent>
<remove fileExtension=".json" />
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
C:\Windows\System32\inetsrv\config
: applicationHost.config
Baru saja mengalami masalah ini tetapi harus menemukan konfigurasi untuk IIS Express sehingga saya dapat menambahkan tipe mime. Bagi saya, itu terletak di C:\Users\<username>\Documents\IISExpress\config\applicationhost.config
dan saya dapat menambahkan "peta mime" yang benar di sana.
<mimeMap>
simpul: <remove fileExtension=".json" />
. Anda tidak harus menyentuh applicationhost.config (atau machine.config). Yang sedang berkata, memodifikasi file-file itu mungkin berguna jika Anda sering membuat situs baru dan tidak ingin harus memodifikasi web.config untuk setiap situs. Itu mungkin bekerja untuk lingkungan dev, tetapi seringkali Anda tidak dapat menyentuh machine.config di lingkungan produksi, jadi saya masih akan merekomendasikan untuk membuat perubahan di web.config.
remove
itu adalah kunci bagi saya