Blazor Webassembly配置(appsettings.json)最初在组件中加载空值

时间:2020-07-26 08:09:32

标签: c# blazor webassembly blazor-webassembly

Blazor WebAssembly应用程序在执行导致Null的Initialy的方法后加载配置值,然后它将返回正确的值。

我关注了Microsoft documentation

设置文件:

var contentSize = 0;
for(var i = 0; contentSize < document.querySelector('ul').scrollLeft; i++)
{
    contentSize += document.querySelector('ul li')[i].getBoundingClientRect().width + 6;
}

我的Component.razor:

wwwroot/appsettings.json

我的Program.cs文件:

@page "/"

<h1>Configuration example</h1>

<p>Message: @Configuration["message"]</p>
@code {
   protected override async Task OnParametersSetAsync()
   {
      await trying to read Configuration["Message"];
    }
}

我的_Imports.razor

 public class Program
        {
        public static async Task Main(string[] args)
        {
        var builder = WebAssemblyHostBuilder.CreateDefault(args);
        builder.RootComponents.Add<App>("app");

        builder.Services.AddTransient(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });

        await builder.Build().RunAsync();
    }
}

注意:理解我正确获取了值,但始终始终为null,然后使用正确的值重新渲染,我使用OnParametersSetAsync()作为入口点,我理解OnParametersSetAsync()在每次参数更改时都会发生变化。但是配置值应该是常量而不是null首先是

3 个答案:

答案 0 :(得分:0)

今天,当我尝试从appsettings.json获取连接字符串值时,我遇到了同样的问题。尝试重新启动Visual Studio ,它将正常运行。

答案 1 :(得分:0)

答案 2 :(得分:0)

在将blanu nuget软件包从3.2.0升级到3.2.1之后起作用了