Thêm chức năng vào ứng dụng của bạn (tiếp tục)
Định nghĩa các yêu cầu được xử lí như thế nào với middleware và endpoints
Sau khi đăng kí các services của bạn với IoC container trên WebApplicationBuilder và làm phù hợp theo yêu cầu xa
hơn, bạn tạo một thực thể WebApplication. Bạn có thể làm ba thứ chính với thực thể WebApplication:
+ Thêm middleware vào pipeline
+ Chập các endpoints cái khởi tạo một trả lời cho một yêu cầu.
+ Chạy ứng dụng bằng cách gọi Run().
Như tôi đã mô tả ở trên, middleware chứa các bộ phận nhỏ cái thực thi trong hàng khi ứng dụng nhận một yêu cầu
HTTP. Chúng có thể thực hiện một host các hàm, như logging, nhận dạng người dùng hiện tại cho một yêu cầu, phục
vụ các files tĩnh, và xử lí lỗi. Middleware điển hình được thêm vào WebApplication bằng cách gọi các phương thức
mở rộng Use*. Trong code trên, tôi đã thể hiện một ví dụ về thêm HttpLogging-Middleware vào middleware pipeline
có điều kiện bằng cách gọi UseHttpLogging():
if (app.Environment.IsDevelopment())
{app.UseHttpLogging();
}
Chúng ta đã thêm chỉ một đoạn đơn middleware vào pipeline trong ví dụ này, nhưng khi bạn đang thêm nhiều đoạn
middleware, trật tự của các gọi Use* là quan trọng: trật tự trong đó chúng được thêm vào builder là trật tự trong
đó chúng sẽ thực thi trong pipeline cuối cùng. Middleware có thể sử dụng chỉ các objects được tạo bởi middleware
trước trong pipeline; nó không thể truy cập các objects tạo bởi middleware sau.
Cảnh báo Nó là quan trọng để xem xét trật tự của middleware khi thêm nó vào pipeline, khi middleware có thể
sử dụng chỉ các objects tạo trước kia trong pipeline.
Bạn nên chú ý rằng code trên sử dụng đặc tính WebApplication.Environment (một thực thể của IWebHostEnvironment)
để cung cấp hành vi khác khi bạn đang ở trong một môi trường phát triển. HttpLoggingMiddleware được thêm vào
pipeline chỉ khi bạn đang chạy trong phát triển; khi bạn đang chạy trong sản xuất (hay, thay vào, khi
EnvironmentName không được thiết lập thành “Development”), HttpLoggingMiddleware sẽ không được thêm.
Chú ý Bạn sẽ học về host các môi trường và làm cách nào thay đổi môi trường hiện tại trong các học phần sau.