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

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

  }

}

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

{

  "ConnectionStrings": {

    "AutoLot": "ITSASECRET"

  }

}

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

<p id="AutBody_Root1392"><strong>AutoLot.Mvc</strong></p>

Метод 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("AutoLot");

services.AddDbContextPool(

  options => options.UseSqlServer(connectionString,

  sqlOptions => sqlOptions.EnableRetryOnFailure));

services.AddScoped;

services.AddScoped;

services.AddScoped;

services.AddScoped;

services.AddScoped;

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

<p id="AutBody_Root1393"><strong>Добавление строки подключения к настройкам приложения</strong></p>

Модифицируйте файл 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;"

  }

}

<p id="AutBody_Root1394"><strong>Метод Configure</strong></p>

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

<p id="AutBody_Root1395"><strong>AutoLot.Api</strong></p>

Внутри стандартного шаблона выполняется проверка среды, и если она установлена в 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;

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

Перейти на страницу:

Похожие книги

97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT