Latihan - Gunakan middleware bawaan

Selesai

ASP.NET Core menyertakan sekumpulan komponen middleware bawaan yang menangani tugas umum, seperti perutean, autentikasi, dan pengelogan HTTP. Anda dapat menggunakan komponen ini untuk menambahkan fungsionalitas ke aplikasi Anda tanpa menulis middleware kustom.

Pemimpin tim Anda menugaskan Anda untuk membuat situs web barebones untuk perusahaan Anda. Situs web harus menampilkan pesan selamat datang di halaman utama, dan menampilkan riwayat singkat perusahaan di halaman terpisah /about . Versi aplikasi sebelumnya memiliki riwayat perusahaan di /history URL, jadi Anda perlu mengalihkan permintaan dari /history ke /about untuk mempertahankan kompatibilitas dengan tautan yang ada.

Anda akan menggunakan metode bawaan MapGet dan UrlRewriter middleware untuk menyelesaikan tugas-tugas ini.

Membuat aplikasi ASP.NET Core

Anda memerlukan aplikasi ASP.NET Core untuk memainkan peran aplikasi tim Anda. Mari kita buat aplikasi ASP.NET Core baru menggunakan ekstensi C# Dev Kit di Visual Studio Code.

  1. Luncurkan Visual Studio Code.

  2. Tekan Ctrl+Shift+P untuk membuka palet perintah.

  3. Cari dan pilih .NET: Proyek Baru....

  4. Cari dan pilih ASP.NET Core Empty.

    Cuplikan layar palet perintah dengan ASP.NET Core Empty dipilih.

  5. Pilih atau buat folder untuk proyek baru.

  6. Beri nama aplikasi baru MyWebApp.

  7. Pilih Buat proyek untuk membuat proyek.

  8. Saat proyek baru terbuka, perluas Solution Explorer panel untuk menampilkan file proyek.

Menjalankan aplikasi

Uji aplikasi untuk memastikan aplikasi berjalan.

  1. Di Visual Studio Code, tekan F5 untuk membuat dan menjalankan aplikasi.

    1. Saat diminta, pilih C# sebagai debugger.
    2. Saat diminta, pilih C#: MyWebApp [Konfigurasi Default] sebagai konfigurasi peluncuran yang akan digunakan.

    Perintah ini memulai aplikasi dan menghostingnya di server web lokal. Jendela browser terbuka dan menampilkan, "Halo, Dunia!"

  2. Tutup jendela browser dan hentikan aplikasi dengan menekan Shift+F5 di Visual Studio Code.

Memetakan titik akhir dan menambahkan penulis ulang URL

Sekarang setelah Anda memiliki aplikasi yang berfungsi, mari kita tambahkan pesan selamat datang ke halaman utama.

  1. Buka file Program.cs.

  2. app.MapGet("/", () => "Hello World!"); Pada baris, ubah pesan "Halo Dunia!" menjadi "Selamat Datang di Contoso!"

    app.MapGet("/", () => "Welcome to Contoso!");
    

    app.MapGet() memetakan permintaan HTTP GET ke jalur tertentu. Fitur ASP.NET Core ini disebut perutean titik akhir. Kode ini menambahkan cabang ke alur. Jika jalur permintaan adalah /, middleware perutean titik akhir merutekan permintaan ke titik akhir ini, yang kemudian menulis "Selamat Datang di Contoso!" ke respons.

  3. Pada baris berikutnya, tambahkan kode berikut:

    app.MapGet("/about", () => "Contoso was founded in 2000.");
    

    Kode ini menambahkan titik akhir lain. Jika jalur permintaan adalah /about, titik akhir menulis "Perusahaan kami didirikan pada tahun 2000." terhadap respons.

  4. Sebelum yang pertama app.MapGet(), tambahkan kode berikut:

    app.UseRewriter(new RewriteOptions().AddRedirect("history", "about"));
    

    Kode ini menambahkan komponen middleware penulis ulang URL yang mengalihkan permintaan dari /history ke /about. Metode ini AddRedirect() mengambil dua parameter: pola ekspresi reguler untuk mencocokkan jalur permintaan, dan jalur pengganti untuk dialihkan.

  5. Tambahkan direktif berikut ke bagian atas file:

    using Microsoft.AspNetCore.Rewrite;
    

    Direktif ini menyelesaikan referensi ke RewriteOptions kelas .

Menguji perubahan

  1. Simpan semua perubahan Anda dan jalankan aplikasi seperti sebelumnya.
  2. Saat jendela browser terbuka, perhatikan URL akar menampilkan "Selamat Datang di Contoso!" Tambahkan /about ke URL dan tekan Enter. Browser harus menampilkan "Contoso didirikan pada tahun 2000."
  3. Ganti /about dengan /history di URL dan tekan Enter. Browser harus mengalihkan ke /about.
  4. Biarkan aplikasi berjalan untuk latihan berikutnya.