Чтение онлайн

на главную

Жанры

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

services.AddScoped<IMakeRepo, MakeRepo>;

services.AddScoped<IOrderRepo, OrderRepo>;

На заметку! Веб-приложение MVC будет работать как с уровнем доступа к данным, так и с API-интерфейсом для взаимодействия с данными, чтобы продемонстрировать оба механизма.

Добавление строки подключения к настройкам приложения

Модифицируйте файл

appsettings.development.json
, как показано
ниже:

{

"Logging": {

"LogLevel": {

"Default": "Information",

"Microsoft": "Warning",

"Microsoft.Hosting.Lifetime": "Information"

}

},

"ConnectionStrings": {

"AutoLot": "Server=.,5433;Database=AutoLotFinal;

User ID=sa;Password=P@ssw0rd;"

}

}

Метод Configure

Метод

Configure
применяется для настройки приложения на реагирование на запросы HTTP. Данный метод выполняется после метода
ConfigureServices
, т.е. все, что добавлено в контейнер DI, также может быть внедрено в
Configure
. Существуют различия в том, как приложения API и MVC конфигурируются для обработки запросов и ответов HTTP в конвейере.

AutoLot.Api

Внутри стандартного шаблона выполняется проверка среды, и если она установлена в

Development
(среда разработки), тогда в конвейер обработки добавляется промежуточное ПО
UseDeveloperExceptionPage
, предоставляющее отладочную информацию, которую вы вряд ли захотите отображать в производственной среде. Далее производится вызов
UseHttpsRedirection
для перенаправления всего трафика на HTTPS (вместо HTTP). Затем добавляются вызовы
арр.UseRouting
,
арр.UseAuthorization
и
арр.UseEndpoints
. Вот полный код метода:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)

{

if (env.IsDevelopment)

{

// Если среда разработки, тогда отображать отладочную информацию.

app.UseDeveloperExceptionPage;

// Первоначальный код.

app.UseSwagger;

app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json",

"AutoLot.Api v1"));

}

// Перенаправить трафик HTTP на HTTPS.

app.UseHttpsRedirection;

//
Включить маршрутизацию.

app.UseRouting;

// Включить проверки авторизации.

app.UseAuthorization;

// Включить маршрутизацию с использованием конечных точек.

// Использовать для контроллеров маршрутизацию с помощью атрибутов.

app.UseEndpoints(endpoints =>

{

endpoints.MapControllers;

});

}

Кроме того, когда приложение запускается в среде разработки, необходимо инициализировать базу данных. Добавьте в метод

Configure
параметр типа
ApplicationDbContext
и вызовите метод
InitializeData
из
AutoLot.Dal
.

Ниже показан модифицированный код:

public void Configure(

IApplicationBuilder app,

IWebHostEnvironment env,

ApplicationDbContext context)

{

if (env.IsDevelopment)

{

// Если среда разработки, тогда отображать отладочную информацию.

app.UseDeveloperExceptionPage;

// Инициализировать базу данных.

if (Configuration.GetValue<bool>("RebuildDataBase"))

{

SampleDataInitializer.InitializeData(context);

}

}

...

}

Обновите файл

appsettings.development.json
с учетом свойства
RebuildDataBase
(пока что установив его в
false
):

{

"Logging": {

"LogLevel": {

"Default": "Information",

"Microsoft": "Warning",

"Microsoft.Hosting.Lifetime": "Information"

}

},

"RebuildDataBase": false,

"ConnectionStrings": {

"AutoLot": "Server=db;Database=AutoLotPresentation;

User ID=sa;Password=P@ssw0rd;"

Поделиться:
Популярные книги

Воевода

Ланцов Михаил Алексеевич
5. Помещик
Фантастика:
альтернативная история
5.00
рейтинг книги
Воевода

Девятый

Каменистый Артем
1. Девятый
Фантастика:
боевая фантастика
попаданцы
9.15
рейтинг книги
Девятый

Совершенный: пробуждение

Vector
1. Совершенный
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Совершенный: пробуждение

Кодекс Крови. Книга Х

Борзых М.
10. РОС: Кодекс Крови
Фантастика:
фэнтези
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга Х

Дайте поспать! Том IV

Матисов Павел
4. Вечный Сон
Фантастика:
городское фэнтези
постапокалипсис
рпг
5.00
рейтинг книги
Дайте поспать! Том IV

Ротмистр Гордеев

Дашко Дмитрий Николаевич
1. Ротмистр Гордеев
Фантастика:
фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Ротмистр Гордеев

Как я строил магическую империю 2

Зубов Константин
2. Как я строил магическую империю
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Как я строил магическую империю 2

Тройняшки не по плану. Идеальный генофонд

Лесневская Вероника
Роковые подмены
Любовные романы:
современные любовные романы
6.80
рейтинг книги
Тройняшки не по плану. Идеальный генофонд

Специалист

Кораблев Родион
17. Другая сторона
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Специалист

Не грози Дубровскому! Том IX

Панарин Антон
9. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том IX

Неудержимый. Книга III

Боярский Андрей
3. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга III

Изгой. Пенталогия

Михайлов Дем Алексеевич
Изгой
Фантастика:
фэнтези
9.01
рейтинг книги
Изгой. Пенталогия

Жена по ошибке

Ардова Алиса
Любовные романы:
любовно-фантастические романы
7.71
рейтинг книги
Жена по ошибке

Пистоль и шпага

Дроздов Анатолий Федорович
2. Штуцер и тесак
Фантастика:
альтернативная история
8.28
рейтинг книги
Пистоль и шпага