Это на сервере Blazor, хотя я думаю, что здесь это не имеет значения.У меня есть базовый класс, в котором я в первую очередь объявляю службы [Inject], необходимые всем моим страницам Razor. Так много:
Код: Выделить всё
[Inject]
protected IDbContextFactory NoTrackingDbFactory { get; set; } = default!;
[Inject]
protected ExUserManager UserManager { get; set; } = default!;
[Inject]
protected NavigationManager Navigation { get; set; } = default!;
Код: Выделить всё
[Inject]
private ScopedLoggerFactory ScopedLoggerFactory { get; set; } = default!;
protected ScopedLogger Logger { get; set; } = default!;
protected override async Task OnInitializedAsync()
{
Logger = ScopedLoggerFactory.GetLogger(Principal);
}
Код: Выделить всё
ExPageBase : where T is class
Код: Выделить всё
Interests : ExPageBase
В настоящее время то, что я делаю в каждом подклассе (и, конечно, это не имеет большого значения, поэтому настоящее ситуация в порядке) это:
Код: Выделить всё
[Inject]
private ScopedLoggerFactory ScopedLoggerFactory { get; set; } = default!;
private ScopedLogger Logger { get; set; } = default!;
protected override async Task OnInitializedAsync()
{
Logger = ScopedLoggerFactory.GetLogger(Principal);
}
Подробнее здесь: https://stackoverflow.com/questions/770 ... base-class