在 .NET Core 中使用 ViewConfig 調試配置
- 2021 年 3 月 30 日
- 筆記

介紹
.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 控制台項目中使用,需要注意的是,我建議大家只在開發環境中使用它,希望可以對您有幫助。
//github.com/SpringLeee/ViewConfig