asp net core web application

Для разработки под ASP.NET Core мы можем использовать различный инструментарий. Если нашей рабочей платформой является Windows, то мы можем использовать полнофункциональную среду разработки Visual Studio. Если мы разрабатываем на Mac OS или Linux, то можем использовать расширенный редактор кода Visual Studio Code . Данный редактор также может работать и под Windows. В рамках данного руководства преимущественно будет использоваться среда Visual Studio 2019.

Программу для установки Visual Studio 2019 можно загрузить со страницы https://www.visualstudio.com/downloads/. В данном случае не важно, какой выпуск VS использовать — бесплатный Community или платные Professional или Enterprise. Все эти выпуски имеют встроенные средства для создания приложений на ASP.NET Core. В рамках этого руководства будет использоваться бесплатный выпуск VS 2017 Community.

Итак, загрузим установщик VS 2019 и запустим его. Вначале нам предлагается установить ряд опций. И так как мы будем работать с ASP.NET Core, то выбрать в программе для установке пункт ASP.NET и разработка веб-приложений :

Также при выборе этого пункта в поле справа можно выбрать также необязательные компоненты, которые будут устанавливаться вместе с ASP.NET. Можно выбрать все компоненты.

Кроме того, чуть ниже также в программе установщика нам надо выбрать другой пункт Кроссплатформенная разработка .NET Core :

Отметив все необходимые нам опции, выполним установку Visual Studio.

После установки откроем Microsoft Visual Studio 2019 и при создании проекта выберем пункт ASP.NET Core Web Application — тип проекта для создания веб-приложения ASP.NET Core:

На следующем шаге дадим какое-нибудь имя проекту, например, HelloApp, и определим для него местоположение на жестком диске:

После этого отобразится окно выбора шаблона нового приложения:

Здесь нам доступно несколько типов проектов:

Empty : пустой шаблон с самой минимальной функциональностью для создания приложений с нуля

API : проект веб-службы

Web Application : проект, который для обработки запросов по умолчанию использует Razor Pages

Web Application(Model-View-Controller) : проект, который использует архитектуру MVC

Angular : проект, предназначенный специально для работы с Angular 2+.

React.js : проект, который использует React.JS

React.js and Redux : проект, который использует React.JS и Redux

Кроме того, здесь мы можем указать версию ASP.NET Core в выпадающем списке, но в данном случае оставим значение по умолчанию — ASP.NET Core 3.0.

Также здесь можно указать тип аутентификации, который по умолчанию используется в проекте, и подключить контейнер Docker.

Также здесь есть флажок «Configure for HTTPS». При установке этого флажка проект при отладке и тестировании по умолчанию будет запускаться по протоколу HTTPS. В данном случае установка и неустановка этого флажка не имеет значения. Кроме того, даже если мы установили эту отметку, то впоследствии через свойства проекта можно отменить запуск через HTTPS или, наоборот, заново установить.

Среди этих шаблонов выберем Empty, все остальные значения оставим по умолчанию и нажмем на кнопку ОК. И Visual Studio создает новый проект:

Структура проекта ASP.NET Core

Рассмотрим базовую структуру стандартного проекта ASP.NET Core. Проект Empty содержит очень простую структуру — необходимый минимум для запуска приложения:

Connected Services : подключенные сервисы из Azure

Dependencies : все добавленные в проект пакеты и библиотеки, иначе говоря зависимости

Properties : узел, который содержит некоторые настройки проекта. В частности, в файле launchSettings.json описаны настройки запуска проекта, например, адреса, по которым будет запускаться приложение.

appsettings.json : файл конфигурации проекта в формате json

Program.cs : главный файл приложения, с которого и начинается его выполнение. Код этого файла настривает и запускает веб-хост, в рамках которого разворачивается приложение

Startup.cs : файл, который определяет класс Startup и который содержит логику обработки входящих запросов

Данная структура, конечно, не представляет проект полнофункционального приложения. И если мы запустим проект, то в браузере увидим только строку «Hello World!», которая отправляется в ответ клиенту с помощью класса Startup:

В этом руководстве описывается веб-разработка MVC ASP.NET Core с контроллерами и представлениями. This tutorial teaches ASP.NET Core MVC web development with controllers and views. Если вы не знакомы с веб-разработкой ASP.NET Core, для начала изучите версию этого руководства для Razor Pages. If you’re new to ASP.NET Core web development, consider the Razor Pages version of this tutorial, which provides an easier starting point.

В серию входят следующие руководства: The tutorial series includes the following:

Введение в Web API

Web API представляет способ построения приложения ASP.NET, который специально заточен для работы в стиле REST (Representation State Transfer или «передача состояния представления»). REST-архитектура предполагает применение следующих методов или типов запросов HTTP для взаимодействия с сервером:

Зачастую REST-стиль особенно удобен при создании всякого рода Single Page Application, которые нередко используют специальные javascript-фреймворки типа Angular, React или Knockout. По сути Web API представляет собой веб-службу, к которой могут обращаться другие приложения. Причем эти приложения могут представлять любую технологию и платформу — это могут быть веб-приложения, мобильные или десктопные клиенты.

Создадим проект Web API. Для этого среди типов проектов выберем ASP.NET Core Web Application и далее среди шаблонов укажем Web API :

Проект, который создается в Visual Studio, будет во многом напоминать проект для MVC за тем исключением, что в нем не будет представлений:

Здесь есть один единственный контроллер ValuesConroller, который предназначен для обработки запросов:

Для контроллера определен один общий маршрут [Route(«api/[controller]»)] . В итоге обращение api/values будет соответствовать обращению к контроллеру ValuesCotroller, причем почти ко всем действиям сразу (кроме метода Get(int id) — так как в данном случае необходим еще идентификатор, например, api/values/2 ).

Однако к методам контроллера применяются специальные атрибуты [HttpGet] или HttpPost , которые и указывают, какой именно тип запроса будет обрабатываться методом. Так, например, запрос GET api/values будет сопоставлен с методом IEnumerable Get() и вернет в ответ клиенту коллекцию элементов string. Например, запустим проект и тогда увидим в браузере эту коллекцию строк:

В то же время если в GET-запросе будет передан параметр api/values/7 , то данному запросу будет соответствовать метод string Get(int id) , так как он принимает параметр.

Если же сервер получит запрос PUT с адресом api/values , то такой запрос будет сопоставлен с методом, к которому применяется атрибут HttpPut .

Источник: computermaker.info

Понравилась статья? Поделиться с друзьями:
Ок! Компьютер
Добавить комментарий