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