Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Nota
Ini bukan versi terbaru dari artikel ini. Untuk rilis saat ini, lihat versi .NET 10 dari artikel ini.
Peringatan
Versi ASP.NET Core ini tidak lagi didukung. Untuk informasi lebih lanjut, lihat Kebijakan Dukungan .NET dan .NET Core . Untuk rilis saat ini, lihat versi .NET 10 dari artikel ini.
Artikel ini menjelaskan cara menghosting dan menyebarkan Blazor WebAssembly menggunakan Internet Information Services (IIS).
IIS adalah server file statis yang unggul untuk aplikasi Blazor. Untuk mengonfigurasi IIS untuk menghosting Blazor, lihat Membangun Situs Web Statis di IIS.
Aset yang diterbitkan dibuat di folder /bin/Release/{TARGET FRAMEWORK}/publish atau bin/Release/{TARGET FRAMEWORK}/browser-wasm/publish, di mana {TARGET FRAMEWORK} adalah placeholder untuk framework target. Menghosting konten folder publish di layanan hosting atau server web.
web.config arsip
Blazor Saat proyek diterbitkan, web.config file dibuat dengan konfigurasi IIS berikut:
- Jenis MIME
- Pemadatan HTTP diaktifkan untuk jenis MIME berikut:
application/octet-streamapplication/wasm
- Aturan Modul Penulisan Ulang URL dibuat:
- Layani sub-direktori tempat aset statis aplikasi berada (
wwwroot/{PATH REQUESTED}). - Buat perutean fallback SPA sehingga permintaan untuk aset non-file dialihkan ke dokumen default aplikasi di folder aset statisnya (
wwwroot/index.html).
- Layani sub-direktori tempat aset statis aplikasi berada (
Penggunaan khusus web.config
Untuk menggunakan file kustom web.config :
- Tempatkan file kustom
web.configdi folder akar proyek. - Terbitkan proyek. Untuk informasi selengkapnya, lihat Host dan sebarkan ASP.NET Core Blazor.
- Tempatkan file kustom
web.configdi folder akar proyek. Untuk solusi yang dihosting, tempatkan file di folder proyek. - Terbitkan proyek. Untuk solusi di-hosting, terbitkan solusi dari proyek Blazor WebAssembly. Untuk informasi selengkapnya, lihat Host dan sebarkan ASP.NET Core Blazor.
Jika pembuatan atau transformasi SDK web.config selama penerbitan tidak memindahkan file ke aset yang diterbitkan di publish folder atau memodifikasi konfigurasi kustom dalam file kustom web.config Anda, gunakan salah satu pendekatan berikut sesuai kebutuhan untuk mengambil kontrol penuh atas proses:
Jika SDK tidak menghasilkan file, misalnya, dalam aplikasi mandiri di Blazor WebAssembly atau
/bin/Release/{TARGET FRAMEWORK}/publish/wwwroot, di manabin/Release/{TARGET FRAMEWORK}/browser-wasm/publishmerupakan placeholder untuk kerangka kerja target, aturlah properti{TARGET FRAMEWORK}ke<PublishIISAssets>di dalam file proyek (true). Biasanya untuk aplikasi WebAssembly mandiri, ini adalah satu-satunya pengaturan yang diperlukan untuk memindahkan file kustomweb.configdan mencegah transformasi file oleh SDK.<PropertyGroup> <PublishIISAssets>true</PublishIISAssets> </PropertyGroup>Nonaktifkan transformasi SDK
web.configdalam file proyek (.csproj):<PropertyGroup> <IsTransformWebConfigDisabled>true</IsTransformWebConfigDisabled> </PropertyGroup>Tambahkan target kustom ke file proyek (
.csproj) untuk memindahkan file kustomweb.config. Dalam contoh berikut, file kustomweb.configditempatkan oleh pengembang di akar proyek.web.configJika file berada di tempat lain, tentukan jalur ke file diSourceFiles. Contoh berikut menentukanpublishfolder dengan$(PublishDir), tetapi menyediakan jalur keDestinationFolderuntuk lokasi output kustom.<Target Name="CopyWebConfig" AfterTargets="Publish"> <Copy SourceFiles="web.config" DestinationFolder="$(PublishDir)" /> </Target>
Menginstal Modul Penulisan Ulang URL
Modul Penulisan Ulang URL diperlukan untuk menulis ulang URL. Modul tidak diinstal secara default, dan tidak tersedia untuk diinstal sebagai fitur layanan peran Server Web (IIS). Modul harus diunduh dari situs web IIS. Gunakan Penginstal Platform Web untuk menginstal modul:
- Secara lokal, navigasikan ke halaman unduhan Modul Penulisan Ulang URL. Untuk versi bahasa Inggris, pilih WebPI untuk mengunduh penginstal WebPI. Untuk bahasa lain, pilih arsitektur yang sesuai untuk server (x86/x64) untuk mengunduh alat penginstal.
- Salin alat penginstal ke server. Jalankan alat penginstal. Pilih tombol Instal dan terima ketentuan lisensi. Menghidupkan ulang server tidak diperlukan setelah penginstalan selesai.
Mengonfigurasi situs web
Atur jalur Fisik situs web ke folder aplikasi. Folder berisi:
- File
web.configyang digunakan IIS untuk mengonfigurasi situs web, termasuk aturan pengalihan dan jenis konten file yang diperlukan. - Folder aset statis aplikasi.
Host sebagai sub-aplikasi IIS
Jika aplikasi mandiri dihosting sebagai sub-aplikasi IIS, lakukan salah satu hal berikut:
Nonaktifkan handler Modul inti ASP.NET yang diwariskan.
Hapus handler di file Blazor yang diterbitkan oleh aplikasi
web.configdengan menambahkan bagian<handlers>ke bagian<system.webServer>di dalam file tersebut.<handlers> <remove name="aspNetCore" /> </handlers>Nonaktifkan pewarisan bagian
<system.webServer>dari aplikasi root (induk) dengan menggunakan elemen<location>yang diaturinheritInChildApplicationskefalse:<?xml version="1.0" encoding="utf-8"?> <configuration> <location path="." inheritInChildApplications="false"> <system.webServer> <handlers> <add name="aspNetCore" ... /> </handlers> <aspNetCore ... /> </system.webServer> </location> </configuration>Nota
Menonaktifkan pewarisan bagian aplikasi
<system.webServer>root (induk) adalah konfigurasi default untuk aplikasi yang diterbitkan menggunakan .NET SDK.
Menghapus handler atau menonaktifkan pewarisan dilakukan selain mengonfigurasi jalur dasar aplikasi. Atur jalur dasar aplikasi dalam file aplikasi index.html ke alias IIS yang digunakan saat mengonfigurasi sub-aplikasi di IIS.
Konfigurasikan jalur dasar aplikasi dengan mengikuti panduan di jalur dasar aplikasi ASP.NET CoreBlazor.
Kompresi Brotli dan Gzip
Bagian ini hanya berlaku untuk aplikasi mandiri Blazor WebAssembly .
Bagian ini hanya berlaku untuk aplikasi mandiri Blazor WebAssembly . Aplikasi yang dihosting Blazor menggunakan file aplikasi web.config ASP.NET Core default, bukan file yang ditautkan di bagian ini.
IIS dapat dikonfigurasi melalui web.config untuk melayani aset terkompresi Blazor Brotli atau Gzip untuk aplikasi mandiri Blazor WebAssembly . Untuk contoh file konfigurasi, lihat web.config.
Konfigurasi tambahan file contoh web.config mungkin diperlukan dalam skenario berikut:
- Spesifikasi aplikasi menetapkan salah satu dari opsi berikut:
- Mengirimkan file terkompresi yang belum dikonfigurasi oleh file contoh
web.config. - Menyajikan file terkompresi yang dikonfigurasi oleh file contoh
web.configdalam format yang tidak dikompresi.
- Mengirimkan file terkompresi yang belum dikonfigurasi oleh file contoh
- Konfigurasi IIS server (misalnya,
applicationHost.config) menyediakan default IIS tingkat server. Bergantung pada konfigurasi tingkat server, aplikasi mungkin memerlukan konfigurasi IIS yang berbeda dari apa yang dikandung file contohweb.config.
Untuk informasi selengkapnya tentang file kustom web.config , lihat bagian Penggunaan kustom web.config .
Troubleshooting
Jika 500 - Kesalahan Server Internal diterima dan Manajer IIS melemparkan kesalahan saat mencoba mengakses konfigurasi situs web, konfirmasikan bahwa Modul Penulisan Ulang URL diinstal. Saat modul tidak diinstal, web.config file tidak dapat diurai oleh IIS. Ini mencegah Manajer IIS memuat konfigurasi situs web dan mencegah situs web untuk menyajikan file statis Blazor.
Untuk informasi selengkapnya tentang pemecahan masalah penyebaran ke IIS, lihat Memecahkan masalah ASP.NET Core di Azure App Service dan IIS.
ASP.NET Core