我有一个基于浏览器的 Blazor
项目,我正在尝试使用配置文件 json
来设置一些内容。但是我不知道将这个配置文件放在哪里以便后续使用。
发布时的文件夹结构如下:
-root //tried placing the json here
- [Blazor server's dll's]
- Client
-dist //tried placing the json here
-framework/
-css/
-index.html
客户端
public class Startup {
public static Config config;
public static Action<IServiceCollection> ConfigureServicesForDebugging { get; set; }
public void ConfigureServices(IServiceCollection services) {
ConfigureServicesForDebugging?.Invoke(services);
services.AddSingleton<AdminService>();
Console.WriteLine(Directory.GetCurrentDirectory()); //renders /
var config = File.ReadAllText("conf.json");
}
public void Configure(IBlazorApplicationBuilder app) {
app.AddComponent<App>("app");
}
}
我希望能够在Client
项目内读取配置文件,但是我不知道该如何操作。无法找到它。
我尝试打印并查看Console.WriteLine(Directory.CurrentDirectory)
,但只得到相对路径。
如何找到我的Blazor应用程序的当前目录以检索客户端项目的配置?
更新
使用方法
我有几个HTML表单,在其中绑定一些HTML属性(如action
)到某个配置文件值:
class Config
{
public string FormUrl{get;set;}
}
Blazor表单
<form action=config.FormUrl>
<input type="submit">Submit</button>
</form>
@functions()
{
[Parameter] protected Config config{get;set;}
}
我猜我需要在
Startup
中解析这个Config
。
json
文件构建的。我是否无法在Startup
中创建此服务?基本上,我需要在初始化我的 Blazor 组件之前读取json
。 - Bercovici Adrian.Result
。我们需要一个ConfigureAsync()。据我所知,在ConfigureServices()中获取它不是一个选项。 - H H