User ID=sa;Password=P@ssw0rd;"
}
}
Как обсуждалось ранее, каждый конфигурационный файл именуется согласно среде, что позволяет разносить значения, специфичные к среде, по разным файлам. Добавьте в проект новый файл по имени appsettings.production.json
и обновите его следующим образом:
{
"ConnectionStrings": {
"AutoLot": "ITSASECRET"
}
}
Это предохраняет реальную строку подключения от системы управления версиями и делает возможным замену маркера (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("AutoLot");
services.AddDbContextPool
options => options.UseSqlServer(connectionString,
sqlOptions => sqlOptions.EnableRetryOnFailure));
services.AddScoped
services.AddScoped
services.AddScoped
services.AddScoped
services.AddScoped
На заметку! Веб-приложение 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;
// Включить проверки авторизации.
Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова
Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT