Приложение Blazor WebAssembly загружает значения конфигурации после выполнения методов, приводящих к нулевому начальному значению, затем оно вернется с правильными значениями.
Я следил за документацией Microsoft .
Добавление файла:
wwwroot/appsettings.json
Мой Component.razor:
@page "/"
<h1>Configuration example</h1>
<p>Message: @Configuration["message"]</p>
@code {
protected override async Task OnParametersSetAsync()
{
await trying to read Configuration["Message"];
}
}
Мой файл Program.cs:
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();
}
}
Моя _Imports.razor
@using System.Net.Http
@using System.Net.Http.Json
@using Microsoft.AspNetCore.Components.Forms
@using Microsoft.AspNetCore.Components.Routing
@using Microsoft.AspNetCore.Components.Web
@using Microsoft.AspNetCore.Components.WebAssembly.Http
@using Microsoft.Extensions.Configuration
@using Microsoft.JSInterop
@inject IConfiguration Configuration;
Примечание: Поймите, что я получаю значение правильно, но сначала всегда null, а затем повторно визуализирую с правильными значениями, я использую OnParametersSetAsync () в качестве точки входа, я понимаю, что OnParametersSetAsync () изменяется при каждом изменении параметра. но значения конфигурации должны быть постоянными, а не нулевыми, верно?