IConfiguration configuration, IWebHostEnvironment env)
{
_env = env;
Configuration = configuration;
}
Метод ConfigureServices
Метод ConfigureServices
AutoLot.Api
Метод ConfigureServices
AutoLot по умолчанию конфигурируется с только одной службой, которая добавляет поддержку контроллеров. Благодаря этому мета-методу добавляется множество дополнительных служб, в том числе маршрутизация, авторизация, привязка моделей и все элементы, не относящиеся к пользовательскому интерфейсу, которые уже обсуждались в настоящей главе.public void ConfigureServices(IServiceCollection services)
{
services.AddControllers;
}
Метод AddControllers
carRepo). Это соответствует большинству инфраструктур производства не Microsoft, которые применяются для разработки веб-приложений. Однако в предшествующих версиях ASP.NET использовался стиль Pascal (например, CarRepo). Переход на "верблюжий" стиль был критическим изменением для многих приложений, которые ожидали стиля Pascal. Чтобы вернуть стиль Pascal при обработке JSON приложением (и улучшить форматирование разметки JSON), модифицируйте метод AddControllers следующим образом:public void ConfigureServices(IServiceCollection services)
{
services.AddControllers
.AddJsonOptions(options =>
{
options.JsonSerializerOptions.PropertyNamingPolicy = null;
options.JsonSerializerOptions.WriteIndented = true;
});
}
Добавьте в файл Startup.cs
using:using AutoLot.Dal.EfStructures;
using AutoLot.Dal.Initialization;
using AutoLot.Dal.Repos;
using AutoLot.Dal.Repos.Interfaces;
using Microsoft.EntityFrameworkCore;
Службам API необходим доступ к ApplicationDbContext
ConfigureServices класса Startup:var connectionString = Configuration.GetConnectionString("AutoLot");
services.AddDbContextPool
options => options.UseSqlServer(connectionString,
sqlOptions => sqlOptions.EnableRetryOnFailure));
Первая строка кода получает строку подключения из файла настроек (более подробно рассматривается позже). Следующая строка добавляет в контейнер DI пул экземпляров ApplicationDbContext
ApplicationDbContext может улучшить показатели производительности за счет наличия заранее установленных экземпляров, ожидающих потребления. Когда нужен контекст, он загружается из пула. По окончании его использования он очищается от любых следов применения и возвращается в пул.Теперь необходимо добавить хранилища в контейнер DI. Вставьте в метод ConfigureServices
ApplicationDbContext:services.AddScoped
services.AddScoped
services.AddScoped
services.AddScoped
services.AddScoped
Добавление строки подключения к настройкам приложения
Модифицируйте файл appsettings.development.json
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"ConnectionStrings": {
"AutoLot": "Server=.,5433;Database=AutoLotFinal;
Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов
Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT