"Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "RebuildDataBase": false,
  "ConnectionStrings": {
    "AutoLot": "Server=db;Database=AutoLotPresentation;
    User ID=sa;Password=P@ssw0rd;"
  }
}
 AutoLot.Mvc
 Метод Configure() для веб-приложений немного сложнее, чем его аналог для API. Ниже приведен полный код метода с последующим обсуждением:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
  if (env.IsDevelopment())
  {
    app.UseDeveloperExceptionPage();
  }
  else
  {
    app.UseExceptionHandler("/Home/Error");
    app.UseHsts();
  }
  app.UseHttpsRedirection();
  app.UseStaticFiles();
  app.UseRouting();
  app.UseAuthorization();
  app.UseEndpoints(endpoints =>
  {
    endpoints.MapControllerRoute(
      name: "default",
      pattern: "{controller=Home}/{action=Index}/{id?}");
  });
}
Метод Configure() также проверяет среду, и если она установлена в Development (среда разработки), тогда в конвейер обработки добавляется промежуточное ПО UseDeveloperExceptionPage(). Для любой другой среды в конвейер обработки добавляется универсальное промежуточное ПО UseExceptionHandler() и поддержка протокола строгой транспортной безопасности HTTP (HTTP Strict Transport Security — HSTS). Как и в аналоге для API, добавляется вызов app.UseHttpsRedirection(). Следующим шагом является добавление поддержки статических файлов с помощью вызова app.UseStaticFiles(). Поддержка статических файлов включается как мера по усилению безопасности. Если ваше приложение в ней не нуждается (подобно API-интерфейсам), тогда не добавляйте такую поддержку. Затем добавляется промежуточное ПО для маршрутизации, авторизации и конечных точек.
Добавьте в метод параметр типа АрplicationDbContext и вызовите InitializeData() из AutoLot.Dal. Вот модифицированный код:
 (window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})
public void Configure(
  IApplicationBuilder app,
  IWebHostEnvironment env,
<b>  ApplicationDbContext context)</b>
{
  if (env.IsDevelopment())
  {
    // Если среда разработки, тогда отображать отладочную информацию.
    app.UseDeveloperExceptionPage();
<b>    // Инициализировать базу данных.</b>
<b>   if (Configuration.GetValue<bool>("RebuildDataBase"))</b>
<b>    {</b>
<b>      SampleDataInitializer.InitializeData(context);</b>
<b>    }</b>
  }
  ...
}
Обновите файл 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;"
  }
}
Стандартный шаблон настраивает в методе UseEndpoints() маршрутизацию на основе соглашений. Ее понадобится отключить и повсюду в приложении применять маршрутизацию с помощью атрибутов. Закомментируйте (или удалите) вызов MapControllerRoute() и замените его вызовом MapControllers():
app.UseEndpoints(endpoints =>
{
  endpoints.MapControllers();
});
Далее добавьте атрибуты маршрутов к HomeController в приложении AutoLot.Mvc. Первым делом добавьте шаблон контроллер/действие к самому контроллеру: