Dot-Net-Core
如何使用 IHttpClientFactory 在 Blazor Server 中配置 HttpClient 基地址
我正在嘗試使用在伺服器中配置
HttpClient的基地址,但出現執行時異常:Blazor``IHttpClientFactoryservices.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.'任何人都知道這裡可能是什麼問題?
ConfigureServices在您可以傳遞它或創建服務期間,基本 url 不可用:services.AddHttpClient(); services.AddTransient<ApiService>();服務:
public class ApiService { public ApiService(HttpClient httpClient, NavigationManager navigationManager) { HttpClient = httpClient; NavigationManager = navigationManager; HttpClient.BaseAddress = new Uri(NavigationManager.BaseUri); } public HttpClient HttpClient { get; } public NavigationManager NavigationManager { get; } }一個組件:
Base Address : @ApiService.HttpClient.BaseAddress @code { [Inject] public ApiService ApiService { get; set; } }
