.NET Core 中的配置包含了多个配置提供程序,包括了 appsettings.json,环境变量,命令行参数等,还有一些扩展的自定义提供程序,比如说 ApolloConfig,AgileConfig 这些,然后从键值对中读取配置信息。
在我们的程序中,我们有时需要知道一个配置是由哪一个Provider执行的,以及配置冲突导致我们的设置没有生效,在本文中,我们在.NET Core 程序中使用了 ViewConfig
组件来调试配置。
通过Nuget搜索 ViewConfig
,然后在程序中安装,这是一个.net standard 2.0 的组件。
安装完成以后,需要修改 Startup.cs 文件的 Configure 方法,我们加一行代码 UseViewConfig
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseViewConfig();
app.UseDeveloperExceptionPage();
app.UseSwagger();
// ...
}
这里建议在开发环境中使用,和Swagger一样, 然后我们启动程序,然后访问 /viewconfig
端点
上面列出了程序中所有的配置项,我们可以看到 Key,Value,也可以通过 Provider 知道配置来自与 appsetting.json 文件或者其他,可以通过下拉列表查看不同的 Provider 的配置信息。
默认使用的是 /viewconfig
端点,输出的是页面,当然也支持输出 json 和文本,像下面这样
// 自定义端点
app.UseViewConfig(x => x.Map("/Info"));
// 页面格式
app.UseViewConfig(x => x.RenderPage());
// Json格式
app.UseViewConfig(x => x.Map().RenderJson());
// 文本格式
app.UseViewConfig(x => x.Map("/Info").RenderText());
ViewConfig 是一个非常简单的组件,可以帮助我们在.NET Core 程序中调试配置信息,接下来还会支持在.Net Core 控制台项目中使用,需要注意的是,我建议大家只在开发环境中使用它,希望可以对您有帮助。
https://github.com/SpringLeee/ViewConfig