В ASP.NET Core порядок регистрации компонентов промежуточного программного обеспечения может влиять на обработку запроса. Ниже приведен рекомендуемый порядок регистрации компонентов промежуточного программного обеспечения:
-
Промежуточное ПО для статических файлов:
Это промежуточное ПО обслуживает статические файлы, такие как HTML, CSS, JavaScript и изображения. Это должен быть один из первых зарегистрированных компонентов промежуточного программного обеспечения.app.UseStaticFiles(); -
Промежуточное программное обеспечение маршрутизации.
Промежуточное программное обеспечение маршрутизации сопоставляет входящие запросы с соответствующей конечной точкой на основе шаблона URL-адреса. Оно должно идти после промежуточного программного обеспечения для статических файлов.app.UseRouting(); -
Промежуточное программное обеспечение авторизации:
Промежуточное программное обеспечение авторизации выполняет проверки аутентификации и авторизации для входящих запросов. Оно должно идти после промежуточного программного обеспечения маршрутизации.app.UseAuthorization(); -
Промежуточное программное обеспечение конечной точки:
Промежуточное программное обеспечение конечной точки выполняет конечную точку, выбранную промежуточным программным обеспечением маршрутизации. Оно должно идти после промежуточного программного обеспечения авторизации.app.UseEndpoints(endpoints => { // Configure endpoints here }); -
Промежуточное программное обеспечение для обработки исключений:
Промежуточное программное обеспечение для обработки исключений перехватывает любые необработанные исключения и генерирует соответствующий ответ. Его следует разместить в верхней части конвейера промежуточного программного обеспечения.app.UseExceptionHandler("/error"); -
Промежуточное программное обеспечение для ведения журналов (необязательно):
Промежуточное программное обеспечение для ведения журналов регистрирует информацию о запросах и ответах. Его можно разместить в любом месте конвейера промежуточного программного обеспечения, в зависимости от ваших требований к ведению журналов.app.UseLogging();
Обратите внимание, что порядок может меняться в зависимости от требований вашего конкретного приложения. При выборе заказа важно учитывать функциональность и зависимости компонентов промежуточного программного обеспечения.