Литмир - Электронная Библиотека
A
A

      "Microsoft.Hosting.Lifetime": "Information"

    }

  },

  "AllowedHosts": "*"

}

Шаблон также создает файл

appsettings.Development.json
. Система конфигурации работает в сочетании с осведомленностью о среде времени выполнения, чтобы загружать дополнительные конфигурационные файлы на основе среды времени выполнения. Цель достигается инструктированием системы конфигурации о необходимости загрузки файла с именем
appsettings.{имя_среды}.json
после файла
appSettings.json
. В случае запуска приложения в среде разработки после файла начальных настроек загружается файл
appsettings.Development.json
. Если запуск происходит в подготовительной среде, тогда загружается файл
appsettings.Staging.json
. Важно отметить, что при загрузке более одного файла любые настройки, присутствующие в нескольких файлах, переопределяются настройками из последнего загруженного файла; они не являются аддитивными. Все конфигурационные настройки получаются через экземпляр реализации
IConfiguration
, доступный посредством системы внедрения зависимостей ASP.NET Core.

Извлечение настроек

После построения конфигурации к настройкам можно обращаться с использованием традиционного семейства методов

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).

Язык программирования C#9 и платформа .NET5 - _278.png

На следующем экране выберите шаблон ASP.NET Core Web API, а выше в раскрывающихся списках — .NET Core и ASP.NET Core 5.0. Оставьте флажки внутри области Advanced (Дополнительно) в их стандартном состоянии (рис. 29.2).

Язык программирования C#9 и платформа .NET5 - _279.png

Добавьте в решение еще один проект 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
:

<PropertyGroup>

  <TargetFramework>net5.0</TargetFramework>

</PropertyGroup>

Добавление проектов AutoLot.Models и AutoLot.Dal

Решение требует завершенного уровня доступа к данным из главы 23. Вы можете либо скопировать файлы в каталог текущего решения, либо оставить их на месте. В любом случае вам нужно щелкнуть правой кнопкой мыши на имени решения в окне Solution Explorer, выбрать в контекстном меню пункт AddExisting Project (Добавить►Существующий проект), перейти к файлу

AutoLot.Models.csproj
и выбрать его. Повторите такие же действия для проекта
AutoLot.Dal
.

На заметку! Хотя порядок добавления проектов в решение формально не имеет значения, среда Visual Studio сохранит ссылки между

AutoLot.Models
и
AutoLot.Dal
, если проект
AutoLot.Models
добавляется первым.

Добавление ссылок на проекты

Добавьте указанные ниже ссылки на проекты, щелкнув правой кнопкой на имени проекта в окне Solution Explorer и выбрав в контекстном меню пункт AddProject Reference (Добавить►Ссылка на проект) для каждого проекта.

583
{"b":"847442","o":1}