Чтение онлайн

ЖАНРЫ

Язык программирования C#9 и платформа .NET5
Шрифт:

app.UseDeveloperExceptionPage;

// Инициализировать базу данных.

if (Configuration.GetValue<bool>("RebuildDataBase"))

{

SampleDataInitializer.InitializeData(context);

}

}

...

}

Обновите файл

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
. Первым делом добавьте шаблон контроллер/действие к самому контроллеру:

[Route("[controller]/[action]")]

public class HomeController : Controller

{

...

}

Затем добавьте три маршрута к методу

Index
, так что он будет стандартным действием, когда не указано действие либо когда не указан контроллер или действие. Кроме того, снабдите метод атрибутом
HttpGet
, чтобы явно объявить его действием
GET
:

[Route("/")]

[Route("/[controller]")]

[Route("/[controller]/[action]")]

[HttpGet]

public IActionResult Index

{

return View;

}

Ведение журнала

Базовая инфраструктура ведения журнала добавляется в контейнер DI как часть процесса запуска и конфигурирования. Инфраструктура ведения журнала использует довольно простой интерфейс

ILogger<T>
. Основополагающим компонентом ведения журнала является класс
LoggerExtensions
, определения методов которого показаны ниже:

public static class LoggerExtensions

{

public static void LogDebug(this ILogger logger, EventId eventId,

Exception exception, string message, params object[] args)

public static void LogDebug(this ILogger logger, EventId eventId,

string message, params
object[] args)

public static void LogDebug(this ILogger logger, Exception exception,

string message,
params object[] args)

public static void LogDebug(this ILogger logger,

string message, params object[] args)

public static void LogTrace(this ILogger logger, EventId eventId,

Exception exception, string message, params object[] args)

public static void LogTrace(this ILogger logger, EventId eventId,

string message, params
object[] args)

public static void LogTrace(this ILogger logger, Exception exception,

string message,
params object[] args)

public static void LogTrace(this ILogger logger,

string message, params object[] args)

Exception exception, string message, params object[] args)

public static void LogInformation(this ILogger logger, EventId eventId,

string message,
params object[] args)

public static void LogInformation(this ILogger logger, Exception exception,

string
message, params object[] args)

public static void LogInformation(this ILogger logger,

string message, params object[] args)

public static void LogWarning(this ILogger logger, EventId eventId,

Exception exception, string message, params object[] args)

public static void LogWarning(this ILogger logger, EventId eventId,

string message, params
object[] args)

public static void LogWarning(this ILogger logger, Exception exception,

string message,
params object[] args)

public static void LogWarning(this ILogger logger,

string message, params object[] args)

public static void LogError(this ILogger logger, EventId eventId,

Exception exception, string message, params object[] args)

public static void LogError(this ILogger logger, EventId eventId,

string message, params
object[] args)

public static void LogError(this ILogger logger, Exception exception,

string message,
params object[] args)

public static void LogError(this ILogger logger,

Поделиться с друзьями: