Рейтинговые книги
Читем онлайн Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 372 373 374 375 376 377 378 379 380 ... 407
развертывания на основе контейнеров (скажем, 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:

<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 (Добавить►Ссылка на проект) для каждого проекта.

Проекты AutoLot.Api и AutoLot.Mvc ссылаются на:

• AutoLot.Models

• AutoLot.Dal

• AutoLot.Services

Проект AutoLot.Services ссылается на:

• AutoLot.Models

• AutoLot.Dal

Добавление пакетов NuGet

Для приложения необходимы дополнительные пакеты NuGet.

Добавьте перечисленные ниже пакеты в проект AutoLot.Api:

• AutoMapper

• System.Text.Json

• Swashbuckle.AspNetCore.Annotations

• Swashbuckle.AspNetCore.Swagger

• Swashbuckle.AspNetCore.SwaggerGen

• Swashbuckle.AspNetCore.SwaggerUI

• Microsoft.VisualStudio.Web.CodeGeneration.Design

• Microsoft.EntityFrameworkCore.SqlServer

На заметку! Благодаря шаблонам ASP.NET Core 5.0 API ссылка на Swashbuckle.AspNetCore уже присутствует. Указанные здесь пакеты Swashbuckle добавляют возможности за рамками базовой реализации.

Добавьте следующие пакеты в проект AutoLot.Mvc:

• AutoMapper

• System.Text.Json

• LigerShark.WebOptimizer.Core

• Microsoft.Web.LibraryManager.Build

• Microsoft.VisualStudio.Web.CodeGeneration.Design

• Microsoft.EntityFrameworkCore.SqlServer

Добавьте указанные ниже пакеты в проект AutoLot.Services:

• Microsoft.Extensions.Hosting.Abstractions

• Microsoft.Extensions.Options

• Serilog.AspNetCore

• Serilog.Enrichers.Environment

• Serilog.Settings.Configuration

• Serlog.Sinks.Console

• Serilog.Sinks.File

• Serilog.Sinks.MSSqlServer

• System.Text.Json

Использование командной строки

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

На заметку! В приводимых далее командах используется разделитель каталогов Windows. Если вы работаете не в среде Windows, тогда должным образом скорректируйте разделитель.

Создайте решение AutoLot и добавьте в него существующие проекты AutoLot.Models и AutoLot.Dal:

rem Создать решение

dotnet new sln -n AutoLot

rem Добавить в решение проекты

dotnet sln AutoLot.sln add ..Chapter_23AutoLot.Models

dotnet sln AutoLot.sln add ..Chapter_23AutoLot.Dal

Создайте проект AutoLot.Services, добавьте его в решение, добавьте пакеты NuGet и добавьте ссылки на проекты:

rem Создать библиотеку классов для служб приложения и добавить ее в решение

dotnet new classlib -lang c# -n AutoLot.Services -o .AutoLot.Services -f net5.0

dotnet sln AutoLot.sln add AutoLot.Services

rem Добавить пакеты

dotnet add AutoLot.Services package Microsoft.Extensions.Hosting.Abstractions

dotnet add AutoLot.Services package Microsoft.Extensions.Options

dotnet add AutoLot.Services package Serilog.AspNetCore

dotnet add AutoLot.Services package Serilog.Enrichers.Environment

dotnet add AutoLot.Services package Serilog.Settings.Configuration

dotnet add AutoLot.Services package Serilog.Sinks.Console

dotnet add AutoLot.Services package Serilog.Sinks.File

dotnet add AutoLot.Services package Serilog.Sinks.MSSqlServer

dotnet add AutoLot.Services package System.Text.Json

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

dotnet add AutoLot.Services reference ..Chapter_23AutoLot.Models

dotnet add AutoLot.Services reference ..Chapter_23AutoLot.Dal

Создайте проект AutoLot.Api, добавьте его в решение, добавьте пакеты NuGet и добавьте ссылки на проекты:

dotnet new webapi -lang c# -n AutoLot.Api -au none -o .AutoLot.Api -f net5.0

dotnet sln AutoLot.sln add AutoLot.Api

rem Добавить пакеты

dotnet add AutoLot.Api package AutoMapper

dotnet add AutoLot.Api package Swashbuckle.AspNetCore

dotnet add AutoLot.Api package Swashbuckle.AspNetCore.Annotations

dotnet add AutoLot.Api package Swashbuckle.AspNetCore.Swagger

dotnet add AutoLot.Api package Swashbuckle.AspNetCore.SwaggerGen

dotnet add AutoLot.Api package Swashbuckle.AspNetCore.SwaggerUI

dotnet add AutoLot.Api package Microsoft.VisualStudio.Web.CodeGeneration.Design

dotnet add AutoLot.Api package Microsoft.EntityFrameworkCore.SqlServer

dotnet add AutoLot.Api package System.Text.Json

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

dotnet add AutoLot.Api reference ..Chapter_23AutoLot.Dal

dotnet add AutoLot.Api

1 ... 372 373 374 375 376 377 378 379 380 ... 407
На этой странице вы можете бесплатно читать книгу Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен бесплатно.

Оставить комментарий