我有一个使用Blazor WASM编写的PWA应用程序。根据我所读到的内容,应该出于配置目的扫描appsettings.json文件,并且主要来说,我应该能够使用这样的代码从该文件中读取一个值:
var test = builder.Configuration["SettingKey"];
这应该使用json文件中SettingKey中的值进行负载测试,例如:
{
"SettingKey": "SomeValue"
}
不过,每当我尝试这样做时,我都会得到一个空值。有没有迹象表明我可能做错了什么?
更新:对于appsettings.json,这应该"只是工作;已经
对于其他文件:
您必须实际下载该文件。
首先,将extrasettings.json放在wwwroot文件夹中。
为了测试它,我将5.0应用程序的启动更改为:
public static async Task Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("#app");
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
var app = builder.Build();
var http = app.Services.GetRequiredService<HttpClient>();
using (var jsonStream = await http.GetStreamAsync("/extrasettings.json"))
{
// usage after the Build(), but it works
builder.Configuration.AddJsonStream(jsonStream);
}
var test = builder.Configuration["SettingKey"];
await app.RunAsync();
}
然后可以将@inject Microsoft.Extensions.Configuration.IConfiguration Configuration
添加到组件中。