Tempatkan aplikasi yang dibuat di Blazor WebAssembly di IIS

Tanggal pembuatan halaman :

lingkungan

Visual Studio
  • Visual Studio 2019
.NET
  • .NET 5.0
Layanan Informasi Internet (IIS)
  • IIS 10
  • lain
Digunakan ke Server Windows
  • Windows Server 2019
  • lain

Pada awalnya

Karena aplikasi Blazor WebAssembly adalah teknologi klien, aplikasi ini dapat digunakan ke server web selain IIS, tetapi kali ini kami akan menunjukkan kepada Anda cara mempublikasikan proyek langsung ke IIS. Pada dasarnya, ASP.NET hampir sama dengan menerbitkan proyek Core, jadi mari kita fokus pada perbedaan.

Penyetelan Server Windows

Misalkan Anda menginstal Windows Server.

Tidak masalah jika versinya agak tua.

Penyiapan IIS

Rincian juga dijelaskan pada halaman berikut, jadi saya tidak akan membahas detailnya.

Mulai Manajer Server dari menu Mulai.

Dari menu administrasi, pilih Tambahkan Peran dan Fitur.

Klik Berikutnya.

Klik Berikutnya.

Klik Berikutnya.

Pilih Web Server (IIS).

Layar berikut akan ditampilkan, dan klik tombol "Tambah Fungsi".

Karena tidak ada yang perlu ditambahkan secara khusus, klik "Next".

Klik Berikutnya.

Tambahkan Layanan Terkelola. Diperlukan untuk mempublikasikan langsung dari Visual Studio.

Layar berikut akan ditampilkan, dan klik tombol "Tambah Fungsi".

Klik Instal.

Memulai IIS Manager dan memverifikasi bahwa itu berisi "layanan administrasi".

Menginstal PenyebarAn Web

Diperlukan untuk menerima program penerbitan dari Visual Studio.

Buka link di bawah ini.

Mengunduh.

Windows Server hanya memiliki versi 64-bit dasar, jadi unduh versi 64-bit.

Berjalan di Windows Server.

Klik Berikutnya.

Periksa "Saya menerima perjanjian lisensi" dan klik "Berikutnya".

Klik Penuh.

Klik tombol "Instal".

Setelah instalasi selesai, klik tombol "Selesai".

Saat Anda membuka Iis Manager, Anda telah menambahkan Layanan Manajemen Delegasi.

Setelan kumpulan aplikasi

Karena itu untuk tujuan mengkonfirmasi operasi, saya tidak akan mengubah pengaturan secara khusus kali ini. Jika Anda ingin mengaturnya, silakan lihat ke halaman berikut.

Membuat situs

Gunakan Situs Web default dari awal untuk memverifikasi operasinya. Jika Anda ingin membuat secara terpisah, silakan lihat ke halaman berikut.

Penerapan setelan terkait pengguna

Karena untuk tujuan memeriksa operasi, itu akan ditempatkan di akun Windows tanpa membuat tertentu kali ini. Jika Anda ingin mengaturnya, silakan lihat ke halaman berikut.

Instal Penulisan Ulang URL

Situs Blazor WebAssembly mengarahkan secara internal secara default, jadi instal URL Rewrite. Unduh file, jadi jika Windows Server tidak dapat mengunduhnya karena masalah keamanan, unduh di PC lain terlebih dahulu.

Di browser Web Anda, kunjungi situs berikut:

Klik Instal ekstensi ini. (Ini ditulis sebagai instalasi, tetapi sebenarnya diunduh)

Jalankan download "urlrewrite2.exe" di server.

Instal karena WEB PI dimulai.

Pilih Setuju.

Web PI dihentikan.

Menerapkan program dari Visual Studio

Kembali ke PC kerja Anda dan luncurkan Visual Studio untuk membuka proyek Blazor WebAssembly. Kali ini, kami akan menerbitkan program dengan proyek baru yang dibuat.

Klik kanan pada proyek dan pilih Publikasikan.

Pilih Web Server (IIS) dan klik Berikutnya.

Pilih Penyebaran Web.

Ketik yang berikut ini:

Nilai nama parameter
peladen Alamat IP atau DNS atau nama domain server yang mengkonfigurasi IIS. Anda dapat menentukan internet atau intranet.
Nama situs Menentukan nama situs yang ditambahkan ke IIS.
Ke URL Tidak ada masalah dengan ruang putih.
Nama pengguna Menentukan akun pengguna di Windows Server atau nama pengguna yang Anda buat di IIS.
kata sandi Masukkan kata sandi autentikasi untuk pengguna di atas.
Menyimpan kata sandi Jika sulit untuk memasukkan kata sandi setiap kali Anda mempublikasikan, simpan.

Ini dibuat seperti yang ditunjukkan.

Jika Anda telah membuat beberapa profil penerbitan, Anda dapat mengubahnya dalam dropdown di atas, tetapi jika namanya membingungkan, Anda dapat melakukannya.

Pengaturan terperinci dapat diubah pada layar edit.

"Pengaturan" dipilih dari tab kiri. Anda tidak perlu membuat perubahan khusus, tetapi mengubah Opsi Konfigurasi, Runtime Target, dan Penerbitan File sesuai kebutuhan.

"Connect" dipilih dari tab kiri. Anda akan melihat apa yang Anda ketik terlebih dahulu, tetapi klik tombol "Verifikasi Koneksi" di bawah ini.

Dialog berikut akan ditampilkan ketika Anda berhasil terhubung ke penerbit. Periksa Simpan sertifikat ini untuk sesi mendatang di Visual Studio dan klik tombol "Saya setuju". Jika Anda menyimpan, dialog ini hanya akan ditampilkan untuk pertama kalinya.

Jika tanda centang ditampilkan di sisi kanan verifikasi koneksi, dimungkinkan untuk terhubung secara normal.

By the way, jika gagal, klik link untuk memeriksa penyebabnya dan mengambil tindakan tergantung pada penyebabnya.

Penyebab umum meliputi:

  • Nama pengguna dan kata sandi tidak benar.
  • IIS tidak mengizinkan pengguna. Setelah metode investigasi digunakan oleh administrator Windows.
  • Firewall TCP 8172 tidak diperbolehkan. Awan seperti Azure tidak memungkinkannya di sisi awan.
  • Anda tidak memiliki alat Penyebaran Web yang diinstal "sepenuhnya".
  • Iis hilang. Silakan periksa kembali tips ini.

Setelah selesai, dari Solution Explorer, klik Solusi → Properti → Proyek → PublishProfiles memperluas dan mengatur nama masalah". pubxml", jadi terbuka.

Project Tambahkan dan simpan kode berikut dalam PropertyGroup tag >:

<AllowUntrustedCertificate>True</AllowUntrustedCertificate>

Setelah selesai, publikasikan dengan tombol publikasikan.

Jika Anda mempublikasikan dengan sukses, Anda sudah selesai. Ini mungkin gagal sesekali, jadi dalam hal ini, silakan keluarkan lagi atau verifikasi koneksi.

Setelah Anda mengaksesnya di browser web dan memverifikasi bahwa program blazor berfungsi, Anda sudah selesai.

By the way, harap dicatat bahwa jika Anda menginstalnya dengan PWA, Anda harus memiliki komunikasi HTTPS.

Tentang menginstal .NET Runtime di Windows Server

Blazor WebAssembly adalah teknologi klien dan tidak perlu diinstal di sisi server.

Ini diperlukan untuk Blazor Server, mekanisme blazor lain.