我试图在使用IHttpClientFactory
配置Blazor
服务器中的HttpClient
基础地址,但是我遇到了运行时异常:
services.AddHttpClient("ApiClient", (provider, client) =>
{
var uriHelper = provider.GetRequiredService<NavigationManager>();
client.BaseAddress = new Uri(uriHelper.BaseUri);
});
System.InvalidOperationException: 'Cannot resolve scoped service 'Microsoft.AspNetCore.Components.NavigationManager' from root provider.'
有人知道这里可能出了什么问题吗?
NavigationManager
是否已在 DI 容器中注册? - NkosiNavigationManager
存在于 DI 中。对于 Blazor Wasm,builder.Services.AddHttpClient("ApiClient", client => client.BaseAddress = new Uri(builder.HostEnvironment.BaseAddress));
就可以正常工作。 - Mihaimyh