在 .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

Tags: