Категории
Самые читаемые
ChitatKnigi.com » 🟢Компьютеры и Интернет » Базы данных » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

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

Читать онлайн Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
1 ... 584 585 586 587 588 589 590 591 592 ... 642
Перейти на страницу:

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать

public void ConfigureServices(IServiceCollection services)

{

  services.AddControllers()

<b>    .AddJsonOptions(options =&gt;</b>

<b>    {</b>

<b>      options.JsonSerializerOptions.PropertyNamingPolicy = null;</b>

<b>      options.JsonSerializerOptions.WriteIndented = true;</b>

<b>    });</b>

}

Добавьте в файл 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 и хранилищам внутри уровня доступа к данным. Существует встроенная поддержка для добавления EF Core в приложения ASP.NET Core. Добавьте следующий код в метод ConfigureServices() класса Startup:

var connectionString = Configuration.GetConnectionString(&quot;AutoLot&quot;);

services.AddDbContextPool&lt;ApplicationDbContext&gt;(

  options =&gt; options.UseSqlServer(connectionString,

  sqlOptions =&gt; sqlOptions.EnableRetryOnFailure()));

Первая строка кода получает строку подключения из файла настроек (более подробно рассматривается позже). Следующая строка добавляет в контейнер DI пул экземпляров ApplicationDbContext. Во многом подобно пулу подключений пул ApplicationDbContext может улучшить показатели производительности за счет наличия заранее установленных экземпляров, ожидающих потребления. Когда нужен контекст, он загружается из пула. По окончании его использования он очищается от любых следов применения и возвращается в пул.

Теперь необходимо добавить хранилища в контейнер DI. Вставьте в метод ConfigureServices() приведенный далее код после кода для конфигурирования ApplicationDbContext:

services.AddScoped&lt;ICarRepo, CarRepo&gt;();

services.AddScoped&lt;ICreditRiskRepo, CreditRiskRepo&gt;();

services.AddScoped&lt;ICustomerRepo, CustomerRepo&gt;();

services.AddScoped&lt;IMakeRepo, MakeRepo&gt;();

services.AddScoped&lt;IOrderRepo, OrderRepo&gt;();

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

Модифицируйте файл appsettings.development.json, как показано ниже, добавив строку подключения к базе данных. Обязательно включите запятую, отделяющую разделы, и приведите строку подключения в соответствие со своей средой.

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

{

  &quot;Logging&quot;: {

    &quot;LogLevel&quot;: {

      &quot;Default&quot;: &quot;Information&quot;,

      &quot;Microsoft&quot;: &quot;Warning&quot;,

      &quot;Microsoft.Hosting.Lifetime&quot;: &quot;Information&quot;

    }

  },

<b>  &quot;ConnectionStrings&quot;: {</b>

<b>    &quot;AutoLot&quot;: &quot;Server=.,5433;Database=AutoLotFinal;</b>

<b>    User ID=sa;Password=P@ssw0rd;&quot;</b>

<b>  }</b>

}

Как обсуждалось ранее, каждый конфигурационный файл именуется согласно среде, что позволяет разносить значения, специфичные к среде, по разным файлам. Добавьте в проект новый файл по имени appsettings.production.json и обновите его следующим образом:

{

  &quot;ConnectionStrings&quot;: {

    &quot;AutoLot&quot;: &quot;ITSASECRET&quot;

  }

}

Это предохраняет реальную строку подключения от системы управления версиями и делает возможным замену маркера (ITSASECRET) в течение процесса разработки.

AutoLot.Mvc

Метод ConfigureServices() для веб-приложений MVC добавляет базовые службы для приложений API и поддержку визуализации представлений. Вместо вызова AddControllers() в приложениях MVC вызывается AddControllersWithViews():

public void ConfigureServices(IServiceCollection services)

{

  services.AddControllersWithViews();

}

Добавьте в файл Startup.es показанные ниже операторы using:

using AutoLot.Dal.EfStructures;

using AutoLot.Dal.Initialization;

using AutoLot.Dal.Repos;

using AutoLot.Dal.Repos.Interfaces;

using Microsoft.EntityFrameworkCore;

Веб-приложение также должно использовать уровень доступа к данным. Добавьте в метод ConfigureServices() класса Startup следующий код:

var connectionString = Configuration.GetConnectionString(&quot;AutoLot&quot;);

services.AddDbContextPool&lt;ApplicationDbContext&gt;(

1 ... 584 585 586 587 588 589 590 591 592 ... 642
Перейти на страницу:
Отывы о книге
Открыть боковую панель
Комментарии
Jonna
Jonna 02.01.2025 - 01:03
Страстно🔥 очень страстно
Ксения
Ксения 20.12.2024 - 00:16
Через чур правильный герой. Поэтому и остался один
Настя
Настя 08.12.2024 - 03:18
Прочла с удовольствием. Необычный сюжет с замечательной концовкой
Марина
Марина 08.12.2024 - 02:13
Не могу понять, где продолжение... Очень интересная история, хочется прочесть далее
Мприна
Мприна 08.12.2024 - 01:05
Эх, а где же продолжение?