Computer >> Máy Tính >  >> Lập trình >> C#

Trình xử lý tin nhắn tích hợp trong Asp.Net webAPI C # là gì?

Trình xử lý thông báo là một lớp nhận yêu cầu HTTP và trả về phản hồi HTTP. Các trình xử lý thông báo bắt nguồn từ lớp HttpMessageHandler trừu tượng. Các trình xử lý tin nhắn cung cấp cho chúng tôi cơ hội để xử lý, chỉnh sửa hoặc từ chối một yêu cầu đến trước khi nó đến HttpControllerDispatcher.

Các trình xử lý thông báo được thực thi sớm hơn nhiều trong quy trình xử lý yêu cầu, do đó chúng là một nơi tuyệt vời để thực hiện các mối quan tâm xuyên suốt trong API Web. MessageHandlers không là gì ngoài một chuỗi các lớp (nó có thể là do hệ thống xác định hoặc được định nghĩa bởi người dùng) nằm bên cạnh quá trình yêu cầu HTTP và phản hồi thông qua một đường dẫn.

Trình xử lý tin nhắn tích hợp trong Asp.Net webAPI C # là gì?

Ví dụ:một yêu cầu HTTP đã đến một máy chủ HTTP, bây giờ yêu cầu sẽ được chuyển tới HandlerA và sau khi xử lý nó trong HandlerA, nó có thể chuyển đến HandlerB và tiếp tục. Bây giờ, lợi thế ở đây là chúng tôi có thể thực hiện các tác vụ cụ thể trong từng bộ xử lý tùy thuộc vào nhu cầu kinh doanh của chúng tôi.

Trong ASP.NET Web API Framework, có hai loại trình xử lý thư có sẵn trong khu vực. Chúng như sau.

  • Trình xử lý thông báo HTTP phía máy chủ
  • Trình xử lý thông báo HTTP phía máy khách

Trình xử lý thông báo phía máy chủ

Về phía máy chủ, đường dẫn API Web sử dụng một số trình xử lý thông báo tích hợp sẵn -

  • HttpServer nhận được yêu cầu từ máy chủ.
  • HttpRoutingDispatcher gửi yêu cầu dựa trên tuyến đường.
  • HttpControllerDispatcher gửi yêu cầu tới bộ điều khiển API Web.

Chúng tôi có thể thêm trình xử lý tùy chỉnh vào đường ống. Các trình xử lý thông báo phù hợp với các bộ điều khiển chéo hoạt động ở cấp thông báo HTTP (thay vì các phần tử điều khiển). Ví dụ:một trình xử lý tin nhắn có thể -

  • Đọc hoặc sửa đổi các tiêu đề yêu cầu.
  • Thêm tiêu đề phản hồi vào câu trả lời.
  • Xác thực các yêu cầu trước khi chúng đến được người kiểm soát.

Trình xử lý thông báo HTTP phía máy khách

Về phía khách hàng, HttpClient lớp sử dụng một trình xử lý thông báo để xử lý các yêu cầu. Trình xử lý mặc định là HttpClientHandler , gửi yêu cầu qua mạng và nhận phản hồi từ máy chủ. Chúng tôi có thể chèn các trình xử lý thông báo tùy chỉnh vào đường dẫn khách hàng.