Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 61848|Jawab: 3

[Inti .NET] ASP.NET Penjelasan rinci tentang Core Middleware

[Salin tautan]
Diposting pada 18/09/2019 11.35.59 | | | |
Apa itu Middleware?

Middleware adalah perangkat lunak yang dirakit menjadi alur aplikasi untuk menangani permintaan dan respons. Setiap komponen:

  • Pilih apakah akan meneruskan permintaan ke komponen berikutnya dalam alur.
  • Pekerjaan dapat dilakukan sebelum dan sesudah komponen berikutnya dalam alur dipanggil.

Delegasi permintaan digunakan untuk membangun alur permintaan yang menangani setiap permintaan HTTP.

Delegasi permintaan dikonfigurasi menggunakan metode ekstensi Jalankan, Petakan, dan Gunakan. Delegasi permintaan terpisah dapat ditentukan dalam metode anonim sebaris (disebut middleware sebaris), atau dapat didefinisikan dalam kelas yang dapat digunakan kembali. Kelas yang dapat digunakan kembali dan metode anonimitisasi inline ini adalah komponen middleware atau middleware. Setiap komponen middleware dalam alur permintaan bertanggung jawab untuk memanggil komponen berikutnya dalam alur dan, jika sesuai, korsleting tautan.

Memigrasikan modul HTTP ke middleware menjelaskan perbedaan antara ASP.NET Core dan alur permintaan di versi sebelumnya (ASP.NET) dan memberikan lebih banyak contoh middleware.

Menggunakan IApplicationBuilder untuk membuat alur middleware

Proses permintaan ASP.NET Core terdiri dari serangkaian delegasi permintaan, seperti yang ditunjukkan pada gambar berikut (proses eksekusi mengikuti panah hitam):

Setiap delegasi dapat melakukan tindakan sebelum dan sesudah delegasi berikutnya. Delegasi juga dapat memutuskan untuk tidak meneruskan permintaan ke delegasi berikutnya, yang disebut korsleting dalam alur permintaan. Korsleting biasanya diinginkan karena menghindari pekerjaan yang tidak perlu. Misalnya, middleware file statis dapat mengembalikan permintaan untuk file statis dan melakukan hubungan arus pendek pada sisa alur. Delegasi penanganan pengecualian perlu dipanggil di awal alur, sehingga mereka dapat menangkap pengecualian di alur selanjutnya.

Hal yang paling sederhana mungkin adalah menyiapkan delegasi ASP.NET aplikasi Core untuk menangani semua permintaan. Skenario ini tidak menyertakan alur permintaan aktual. Sebagai gantinya, metode anonim dipanggil untuk setiap permintaan HTTP.


Aplikasi pertama. Jalankan delegasi mengakhiri alur.

Ada kode seperti ini:




Diakses melalui browser, ditemukan bahwa itu memang ada di aplikasi pertama. Run mengakhiri alur.



Anda dapat mendelegasikan beberapa permintaan dengan aplikasi. Penggunaan terhubung bersama. Parameter berikutnya mewakili delegasi berikutnya dalam alur. (Perlu diingat bahwa Anda dapat mengakhiri alur dengan tidak memanggil parameter berikutnya.) Anda biasanya dapat melakukan tindakan sebelum dan sesudah delegasi berikutnya, seperti yang ditunjukkan dalam contoh berikut:

Menggunakan browser untuk mengakses hasil seperti:



Dapat dilihat bahwa urutan eksekusi delegasi permintaan mengikuti diagram alir di atas.

Nota:

Setelah respons dikirim ke klien, jangan menelepon berikutnya. Memanggil。 Setelah respons dimulai, perubahan pada HttpResponse akan melemparkan pengecualian. Misalnya, mengatur header respons, kode status, dll. akan memunculkan pengecualian. Tulis isi respons setelah memanggil berikutnya.

dapat mengakibatkan pelanggaran perjanjian. Misalnya, menulis lebih dari panjang konten yang dijelaskan dalam panjang konten.

Pemformatan konten responsif mungkin rusak. Misalnya, tulis footer HTML ke dalam file CSS.

HttpResponse.HasStarted adalah petunjuk yang berguna untuk menunjukkan apakah header respons telah dikirim dan/atau isinya telah ditulis.


Middleware bawaan

ASP.NET Core hadir dengan komponen middleware berikut:


Middlewaredeskripsi
OtentikasiDukungan autentikasi tersedia
CORSMengonfigurasi berbagi sumber daya lintas domain
Caching ResponsDukungan respons cache tersedia
Kompresi ResponsMemberikan dukungan untuk kompresi respons
PeruteanMenentukan dan membatasi perutean permintaan
SesiMenyediakan manajemen sesi pengguna
File StatisMenyediakan dukungan untuk penjelajahan file dan direktori statis
Middleware Penulisan Ulang URLDigunakan untuk menulis ulang URL dan meminta dukungan untuk pengalihan





Mantan:Produk baru Baidu! One Moment Album saat ini 1 juta pengguna dapat mengklaim penyimpanan tanpa batas:
Depan:Bahasa Inggris Level 4 dan 6 Mendengarkan dan Ujian Masuk Pascasarjana Ujian Ulang Kosakata Bahasa Inggris Berbagi Data Lisan
Diposting pada 22/09/2021 20.47.00 |
Belajar untuk belajar...
Diposting pada 10/10/2021 18.55.42 |
Belajar untuk belajar, di tempat artikel ini membuka keanggotaan
Diposting pada 10/10/2021 18.59.21 |
https://www.cnblogs.com/stulzq/p/7760648.html
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com