После построения конфигурации к настройкам можно обращаться с использованием традиционного семейства методов GetXXX()
, таких как GetSection()
, GetValue()
и т.д.:
Configuration.GetSection("Logging")
Также доступно сокращение для получения строк подключения:
Configuration.GetConnectionString("AutoLot")
Дополнительные возможности конфигурации будут повсеместно применяться в оставшемся материале книги.
Развертывание приложений ASP.NET Core
Приложения ASP.NET предшествующих версий могли развертываться только на серверах Windows с использованием IIS. Инфраструктуру ASP.NET Core можно разворачивать под управлением многочисленных операционных систем многими способами, в том числе и вне веб-сервера. Ниже перечислены высокоуровневые варианты:
• на сервере Windows (включая Azure) с применением IIS;
• на сервере Windows (включая службы приложений Azure) вне IIS;
• на сервере Linux с использованием Apache или NGINX;
• под управлением Windows или Linux в контейнере Docker.
Подобная гибкость позволяет организациям выбирать платформу развертывания, которая имеет набольший смысл для организации, включая популярные модели развертывания на основе контейнеров (скажем, Docker), и не ограничиваться серверами Windows.
Легковесный и модульный конвейер запросов HTTP
Следуя принципам .NET Core, все в ASP.NET Core происходит по подписке. По умолчанию в приложение ничего не загружается. Такой подход позволяет приложениям быть насколько возможно легковесными, улучшая производительность и сводя к минимуму объем их кода и потенциальный риск.
Создание и конфигурирование решения
Теперь, когда у вас есть опыт работы с рядом основных концепций ASP.NET Core, самое время приступить к построению приложений ASP.NET Core. Проекты ASP.NET Core можно создавать с применением либо Visual Studio, либо командной строки. Оба варианта будут раскрыты в последующих двух разделах.
Использование Visual Studio
Преимущество Visual Studio связано с наличием графического пользовательского интерфейса, который поможет вам пройти через процесс создания решения и проектов, добавления пакетов NuGet и создания ссылок между проектами.
Создание решения и проектов
Начните с создания нового проекта в Visual Studio. Выберите в диалоговом окне Create a new project (Создание нового проекта) шаблон C# под названием ASP.NET Core Web Application (Веб-приложение ASP.NET Core). В диалоговом окне Configure your new project (Конфигурирование нового проекта) введите AutoLot.Api
в качестве имени проекта и AutoLot
для имени решения (рис. 29.1).
На следующем экране выберите шаблон ASP.NET Core Web API, а выше в раскрывающихся списках — .NET Core и ASP.NET Core 5.0. Оставьте флажки внутри области Advanced (Дополнительно) в их стандартном состоянии (рис. 29.2).
Добавьте в решение еще один проект ASP.NET Core Web Application, выбрав шаблон ASP.NET Core Web Арр (Model-View-Controller) (Веб-приложение ASP.NET Core (модель-представление-контроллер)). Удостоверьтесь в том, что в раскрывающихся списках вверху выбраны варианты .NET Core и ASP.NET Core 5.0; оставьте флажки внутри области Advanced в их стандартном состоянии.
Наконец, добавьте в решение проект C# Class Library (.NET Core) (Библиотека классов C# (.NET Core)) и назначьте ему имя AutoLot.Services
. Отредактируйте файл проекта, чтобы установить TargetFramework
в net 5.0
:
Добавление проектов AutoLot.Models и AutoLot.Dal
Решение требует завершенного уровня доступа к данным из главы 23. Вы можете либо скопировать файлы в каталог текущего решения, либо оставить их на месте. В любом случае вам нужно щелкнуть правой кнопкой мыши на имени решения в окне Solution Explorer, выбрать в контекстном меню пункт Add►Existing Project (Добавить►Существующий проект), перейти к файлу AutoLot.Models.csproj
и выбрать его. Повторите такие же действия для проекта AutoLot.Dal
.
На заметку! Хотя порядок добавления проектов в решение формально не имеет значения, среда Visual Studio сохранит ссылки между AutoLot.Models
и AutoLot.Dal
, если проект AutoLot.Models
добавляется первым.
Добавление ссылок на проекты
Добавьте указанные ниже ссылки на проекты, щелкнув правой кнопкой на имени проекта в окне Solution Explorer и выбрав в контекстном меню пункт Add►Project Reference (Добавить►Ссылка на проект) для каждого проекта.