Перейти к содержанию

Маршрутизация на основе соглашений и маршрутизация на основе атрибутов

Существует два способа определить сопоставления конечных точек URL-адресов в приложении:

  • использовать глобальную маршрутизацию на основе соглашений;
  • применять маршрутизацию на основе атрибутов.

Для Razor Pages применяется гибридный подход — генерация маршрутов атрибутов на основе соглашений.
Вот сравнительная таблица различных подходов:

Тип маршрутизации Типичное использование Преимущества Недостатки
Маршрутизация на основе соглашений Контроллеры MVC, генерирующие HTML-код Очень краткое определение в одном месте приложения.
Обеспечивает согласованную компоновку контроллеров MVC.
Маршруты определяются в месте, отличном от контроллеров.
Переопределение соглашений может быть сложным и допускать ошибки.
Добавляет дополнительный уровень косвенности при маршрутизации
Маршрутизация на основе атрибутов Контроллеры MVC WebAPI Предоставляют полный контроль над шаблонами маршрутов для каждого действия.
Маршруты определяются рядом с действием
Подробно по сравнению с маршрутизацией на основе соглашений.
Шаблоны маршрутов легко изменить.
Шаблоны маршрутов разбросаны по всему приложению.
Генерация маршрутов атрибутов на основе соглашений Razor Pages Поощряет согласованный набор предоставляемых URL-адресов.
Лаконично, когда вы придерживаетесь соглашений.
Легко переопределить шаблон маршрута для отдельной страницы.
Можно настроить соглашения глобально, чтобы переопределить URL-адреса.
Возможна чрезмерная настройка шаблонов маршрутов.
Вы должны рассчитать, каким должен быть шаблон маршрута страницы, вместо того, чтобы явно определять его в приложении

Последнее обновление : 16 апреля 2023 г.
Дата создания : 22 сентября 2022 г.

Комментарии

Комментарии