Главная страница   /   13. Маршрутизация (ASP.NET MVC 4

ASP.NET MVC 4

ASP.NET MVC 4

Адам Фриман

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

До введения 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).

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

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

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

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

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

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

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

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

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

13.10. Резюме