Middleware vs HTTP modules và HTTP handlers ASP.NET Core

Middleware vs HTTP modules và HTTP handlers ASP.NET Core

Trong phần trước của ASP.NET, khái niệm về một middleware pipeline không được sử dụng. Thay vào đó, bạn có HTTP
modules và HTTP handlers.
Một HTTP handler là một quá trình cái chạy trong trả lời với một yêu cầu và khởi tạo trả lời. ASP.NET page handler,
ví dụ, chạy trong trả lời với các yêu cầu cho các .aspx pages. Như một lựa chọn, bạn có thể viết một custom handler
cái trả về các ảnh chỉnh lại kích thước khi một ảnh được yêu cầu.
HTTP modules xử lí các quan tâm cắt chéo về các ứng dụng, như an ninh, logging và quản lí phiên làm việc. Chúng
chạy trong trả lời với các life-cycle events cái một yêu cầu xúc tiến qua khi nó được nhận bởi server. Các ví dụ
về các sự kiện bao gồm BeginRequest, AcquireRequestState, và PostAcquireRequestState.
Cách tiếp cận này làm việc nhưng đôi khi nó là mẹo mực để lí giải về các modules nào sẽ chạy tại điểm nào. Thực
hiện một module yêu cầu hiểu chi tiết tương đối về state của yêu cầu tại mỗi life-cycle event riêng rẽ.
Middleware pipeline làm hiểu ứng dụng của bạn đơn giản hơn nhiều. Pipeline được định nghĩa hoàn toàn bằng code,
chỉ ra các bộ phận nào nên chạy và trong trật tự nào. Đằng sau hậu trường, middleware pipeline trong ASP.NET Core
đơn giản là một móc xích các lời gọi phương thức, với mỗi hàm middleware gọi cái tiếp theo trong pipeline.

Chia sẻ