blazor wasm 在 program.cs Main 中注入 IJSRuntime

Posted

技术标签:

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

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

谢谢

【问题讨论】:

【参考方案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();

【讨论】:

以上是关于blazor wasm 在 program.cs Main 中注入 IJSRuntime的主要内容,如果未能解决你的问题,请参考以下文章

Blazor_WASM之4:路由

Blazor 客户端 (WASM) 应用程序洞察

Blazor Wasm 身份登录/注销事件

具有 ReportViewer 导出功能的 Blazor (Wasm)

Radzen Blazor 对话框未关闭

blazor wasm开发chrome插件