【发布时间】:2019-12-08 16:44:42
【问题描述】:
我有一个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。
【问题讨论】:
标签: c# configuration root blazor config-files