ASP.NET MVC 4

ASP.NET MVC 4

Адам Фриман

Маршрутизация

До введения MVC ASP.NET предполагал, что существует прямая связь между запрашиваемым URL-адресом и файлами на жестком диске сервера. Работы сервера заключалась в том, чтобы получить запрос от браузера и доставить выходные данные из соответствующего файла, а именно:

Запрашиваемый URL Соответствующий файл
http://mysite.com/default.aspx e:\webroot\default.aspx
http://mysite.com/admin/login.aspx e:\webroot\admin\login.aspx
http://mysite.com/articles/AnnualReview Файл не найден. Ошибка 404

Этот подход очень хорош для Web Forms, где каждая ASPX страница является и файлом, и ответом на запрос. Но это не имеет смысла для MVC приложения, где запросы обрабатываются методами действия в классах контроллеров и где нет однозначного соответствия с файлами на диске.

Для обработки MVC URL платформа ASP.NET использует систему маршрутизации (роутинга). В этой главе мы покажем вам, как настроить и использовать систему маршрутизации для создания мощной и гибкой обработки URL для ваших проектов. Вы увидите, что система маршрутизации позволяет создавать любые желаемые структуры URL и выражать их в ясной и сжатой форме. Система маршрутизации имеет две функции:

  • Изучить входящий URL и выяснить, для какого контроллера и действия предназначен запрос. Как и следовало ожидать, мы хотим, чтобы система маршрутизации делала именно это, когда мы получаем запрос клиента.
  • Создать исходящих URL. Это URL-адреса, которые появляются в HTML документе, показанном нашим представлением, так чтобы было вызвано определенное действие, когда пользователь кликает по ссылке (в этот момент мы снова получаем входящий URL).

В этой главе мы сосредоточимся на определении роутов и их использование для обработки входящих запросов, так чтобы пользователь мог достичь контроллеров и действий. Затем, в следующей главе, мы покажем вам, как использовать те же самые маршруты для генерации исходящих URL, которые будут вам нужны для представлений, а также покажем, как настроить систему маршрутизации и использовать ее для области (areas).

Создание проекта для примера

Введение в URL паттерны

Создание и регистрация простого роута

Определение значений по умолчанию

Использование статических URL сегментов

Определение пользовательских переменных для сегментов

Ограничение роутов

Роутовые запросы для дисковых файлов

Обход системы маршрутизации

Резюме

или RSS канал: Что новенького на smarly.net