Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah pengendali mesej terbina dalam dalam Asp.Net webAPI C#?

Apakah pengendali mesej terbina dalam dalam Asp.Net webAPI C#?

王林
王林ke hadapan
2023-09-11 15:45:06927semak imbas

Pengendali mesej ialah kelas yang menerima permintaan HTTP dan mengembalikan HTTP balas. Pengendali mesej diperoleh daripada kelas HttpMessageHandler abstrak. Pengendali mesej memberi kami peluang untuk memproses, mengedit atau menolak mesej masuk Sebelum permintaan sampai ke HttpControllerDispatcher.

Pengendali mesej dilaksanakan lebih awal dalam saluran pemprosesan permintaan, jadi Mereka adalah tempat yang bagus untuk melaksanakan kebimbangan silang dalam API Web. maklumat Pengendali tidak lebih daripada satu siri kelas (ia mungkin ditakrifkan sistem atau diwakili oleh us) berada di samping proses menyalurkan permintaan dan respons HTTP.

Asp.Net webAPI C# 中的内置消息处理程序是什么?

Sebagai contoh, permintaan HTTP tiba di pelayan HTTP, kini permintaan itu akan Dihantar kepada HandlerA, selepas memproses dalam HandlerA, ia mungkin pergi ke HandlerB, tidak lama lagi. Sekarang, kelebihan di sini ialah kita boleh melakukan ini dalam setiap satu Prosedur pemprosesan bergantung kepada keperluan perniagaan kita.

Dalam Rangka Kerja API Web ASP.NET, terdapat dua jenis pengendali mesej: tersedia. Mereka adalah seperti berikut.

  • Pengendali mesej HTTP sebelah pelayan
  • Pengendali mesej HTTP pihak pelanggan

Pengendali mesej sebelah pelayan

Di bahagian pelayan, saluran paip Web API menggunakan beberapa pengendali mesej terbina dalam -

  • strong>
  • Dipetik daripada hos bertanya.
  • HttpRoutingDispatcher
  • menghantar permintaan berdasarkan penghalaan.
  • HttpControllerDispatcher
  • Menghantar permintaan kepada pengawal API Web.

Kami boleh menambah pengendali tersuai pada saluran paip. Pengendali mesej bagus untuk memotong silang Isu yang beroperasi pada tahap mesej HTTP dan bukannya tahap pengawal tindakan). Contohnya, pengendali mesej mungkin -
  • membaca atau mengubah suai pengepala permintaan.
  • Tambahkan pengepala respons pada respons.
  • Sahkan permintaan sebelum ia sampai ke pengawal.

Pengendali Mesej HTTP Pelanggan

Di bahagian pelanggan, kelas HttpClient menggunakan pengendali mesej untuk mengendalikan permintaan. Pengendali lalai ialah HttpClientHandler

yang menghantar permintaan melalui rangkaian dan dapatkan respons daripada pelayan. Kami boleh memasukkan pengendali mesej tersuai ke dalam saluran paip pelanggan. 🎜

Atas ialah kandungan terperinci Apakah pengendali mesej terbina dalam dalam Asp.Net webAPI C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam