Язык программирования 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,
Поделиться с друзьями: