我有一个客户端Blazor应用程序,
我想为我的客户端配置提供一个appsetting.json文件,就像我们在其中包含environment.ts 角形
为此,我将ConfigFiles文件夹保留在wwwroot下,并将json文件保留在其中
我正尝试如下操作,首先获取路径
public static class ConfigFiles
{
public static string GetPath(string fileName)
{
return Path.Combine("ConfigFiles", fileName);
}
}
比阅读
public string GetBaseUrl()
{
string T = string.Empty;
try
{
T = File.ReadAllText(ConfigFiles.GetPath("appsettings.json"));
}
catch (Exception ex)
{
T = ex.Message;
}
return T;
}
但是我总是会出错
找不到路径“ /ConfigFiles/appsettings.json”的一部分。
我也尝试过内部GetPath方法
return Path.Combine("wwwroot/ConfigFiles", fileName);
但仍然是相同的错误
找不到路径“ wwwroot / ConfigFiles / appsettings.json”的一部分。
由于客户端blazor中没有IHostingEnvironment的概念,因此在此处读取静态json文件的方法是
答案 0 :(得分:2)
我有一个客户端Blazor应用程序
好的,这意味着File.ReadAllText(...)
和Path.Combine(...)
根本无法工作。
客户端意味着您可以在Android或Mac-OS或任何其他版本上运行。
Blazor团队以FetchData示例页面的形式为您提供了有关如何读取文件的完整示例。
forecasts = await Http.GetJsonAsync<WeatherForecast[]>("sample-data/weather.json");
这将为您获取wwwroot/sample-data
中文件的内容
如果需要AllText,可以使用Http.GetStringAsync(...)
如果要按用户设置,请查看Blazored.LocalStorage程序包。