【问题标题】:blazor wasm inject IJSRuntime in program.cs Mainblazor wasm 在 program.cs Main 中注入 IJSRuntime
【发布时间】:2021-04-19 18:31:23
【问题描述】:

在 Blazor Webassembly 中, 是否可以将 program.cs 中的 IJSRuntime 注入 Main 方法?

谢谢

【问题讨论】:

    标签: dependency-injection blazor main webassembly


    【解决方案1】:

    是的,您可以从服务容器中获取它

    public static async Task Main(string[] args)
    {
        var builder = WebAssemblyHostBuilder.CreateDefault(args);
        builder.RootComponents.Add<App>("app");
        builder.Services.AddSingleton(new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
    
    
        var host = builder.Build();
    
        var jsRuntime = host.Services.GetRequiredService<IJSRuntime>(); // get the service from the DI container
        // do something like get the culture - that's what the MS example for that does
        var cultureName = await jsRuntime.InvokeAsync<string>("blazorCulture.get");
    
        await host.RunAsync();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-01
      • 2020-04-05
      • 2021-01-17
      • 1970-01-01
      • 2021-04-30
      • 2020-10-09
      • 2017-06-03
      • 1970-01-01
      相关资源
      最近更新 更多