I have a scoped service:
services.AddScoped<UserSettingsService>();
I want to call async method on the service (load data from DB) before child components are initialized (before ComponentBase.OnInitialized();)
Where is the best place to call UserSettingsService.LoadAsync();?
I have tried to do it in App component in OnInitializedAsync(), but it seems too late, because my childcomponents has been initialized before the UserSettingsService:
app.razor.cs:
public partial class App {
[Inject] UserSettingsService UserSettingsService {get; set;}
[Inject] AuthenticationStateService AuthenticationStateService {get; set;}
public override async Task OnInitializedAsync() {
string userName = (await AuthenticationStateService.GetAuthenticationState()).User.Identity.Name;
await UserSettingsService.LoadAsync(userName );
await base.OnInitializedAsync();
}
}