Контроллеры в ASP.NET Core MVC могут использовать в работе различные сервисы. Для получения этих сервисов могут использоваться различные способы, которые мы сегодня рассмотрим.
Контроллеры ASP.NET Core MVC
Контроллеры ASP.NET Core MVC. Отправка файлов клиенту
Отправка файлов клиенту — одна из часто используемых возможностей современных веб-приложений. Используя возможность ASP.NET Core MVC, мы можем организовать отправку файлов пользователю различными способами.
Контроллеры ASP.NET Core MVC. Отправка кодов состояния HTTP 4xx
Отправка кодов состояния HTTP 4xx свидетельствует о том, что произошла ошибка на стороне клиента — ресурс не найден, пользователь не авторизован и т.д. В ASP.NET Core MVC предусмотрен ряд классов, отправляющих клиенту наиболее распространенные коды статуса HTTP группы 4xx.
Контроллеры ASP.NET Core MVC. Отправка кодов состояния HTTP 2xx
Отправка кодов состояния HTTP 2xx свидетельствует о том, что запрос пользователя успешно обработан. При этом, сервер, использовать различные коды из группы 2хх, чтобы сообщить, что запрос успешный или запрос был принят к исполнению и т.д.
Контроллеры ASP.NET Core MVC. Переадресация
Для переадресации клиента в ASP.NET Core MVC предусмотрено достаточно большое количество методов, каждый из которых принимает различное количество параметров и возвращает определенные статусные коды HTTP. Разберемся с работой этими методами и объектами, которые выполняют переадресацию клиента.
Контроллеры ASP.NET Core MVC. Отправка текста и JSON
В предыдущей части мы провели обзор, имеющихся в ASP.NET Core MVC классов, реализующих интерфейс IActionResult
, а также методов контроллера с помощью которых мы можем формировать ответ клиенту. В этой и последующих частях мы рассмотрим работу тех или иных методов контроллера и их применение в приложениях ASP.NET Core MVC. Начнем с того, что разберемся каким образом в ASP.NET Core осуществляется отправка текста и JSON клиенту.
Контроллеры ASP.NET Core MVC. Результаты действий (IActionResult)
Как мы уже знаем, действия контроллера могут возвращать в своих результатах, в принципе, любой тип данных, как и обычный метод C#, даже пустой (void
). Однако, чаще всего действия возвращают какой-либо объект, реализующий интерфейс IActionResult
. И при разработке приложения в ASP.NET Core MVC нам, желательно, чтобы действия возвращали именно объекты реализующие этот интерфейс или Task<IActionResult>
для асинхронных действий.
Контроллеры ASP.NET Core MVC. Обработка форм
При разработке приложений в ASP.NET Core MVC активно используются различные веб-формы — форма регистрации нового пользователя, входа в систему, загрузки файлов на сервер и прочие и нам важно, чтобы данные, которые пользователь отправляет нам через форму корректно обрабатывались контроллером.
Контроллеры ASP.NET Core MVC. Передача данных в контроллер через параметры запроса
Данные в контроллер могут передаваться различными способами. Одним из широко используемых в настоящее время способов передачи данных в контроллер от пользователя является использование строки запроса (query string).
Контроллеры ASP.NET Core MVC. Контекст контроллера и контекст запроса
Так как контроллер отвечает за обработку запроса, иногда бывает важно получить такую информацию о запросе как метод HTTP, наличие каких-либо заголовков запроса и т.д. В ASP.NET Core MVC классы контроллеров наследуются от базового класса Controller
, который содержит ряд важных для нас свойств, в том числе контекст контроллера и контекст запроса.