如果在使用Blazor wasm时,出现了依赖注入的问题,而且Http Client为空,可能需要在Program.cs
文件中进行如下配置:
HttpClient
设置BaseAddress
builder.Services.AddSingleton(new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
builder.Services.AddHttpClient();
然后,可以对其进行注入
@inject HttpClient httpClient
现在HttpClient可以使用了。
完整示例:
Program.cs
文件中进行如下配置
public static async Task Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add("app");
builder.Services.AddSingleton(new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
await builder.Build().RunAsync();
}
然后,在需要使用HttpClient的组件中进行如下配置
@inject HttpClient httpClient