博客
关于我
在 .NET Core 中使用 ViewConfig 调试配置
阅读量:458 次
发布时间:2019-03-06

本文共 1367 字,大约阅读时间需要 4 分钟。

.NET Core 配置调试工具:完全指南

介绍

在开发过程中,了解应用程序的配置来源和值至关重要。.NET Core 提供了多种配置提供程序,包括 appsettings.json、环境变量、命令行参数等。此外,还可以通过扩展的自定义提供程序(如 ApolloConfig、AgileConfig)来获取配置信息。

有时,我们需要知道一个配置是由哪个 Provider 提供的,尤其是在配置冲突的情况下,确保我们的设置能够生效。在本文中,我们将使用 ViewConfig 组件来调试和分析配置信息。

安装

要使用 ViewConfig,首先需要通过 NuGet 包管理器搜索 ViewConfig,然后在项目中安装该 NuGet 包。ViewConfig 是一个基于 .NET Standard 2.0 的组件,适用于多种项目类型。

配置设置

安装完成后,需要在 Startup.cs 文件的 Configure 方法中添加 UseViewConfig 代码。建议在开发环境中使用 ViewConfig,类似于 Swagger 这样的调试工具。添加后,程序会在 /viewconfig 端点提供调试界面。

Configure 方法中,代码示例如下:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env){    if (env.IsDevelopment())    {        app.UseViewConfig();        app.UseDeveloperExceptionPage();        app.UseSwagger();        // ...    }}

启动程序后,访问 /viewconfig 端点,系统会展示所有配置项,包括键名、值以及对应的 Provider 信息。通过下拉菜单,可以查看每个配置项来自哪个文件或提供程序。

自定义配置

默认情况下,ViewConfig 会在 /viewconfig 端点提供一个 HTML 页面,显示配置信息。为了满足不同的需求,支持自定义端点和输出格式。例如:

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 的输出格式化为页面、JSON 或文本,并指定任意的端点路径。

总结

ViewConfig 是一个简单且强大的工具,能够帮助开发者在 .NET Core 应用程序中调试和分析配置信息。它支持多种配置提供程序,并能展示配置来源和冲突信息。建议仅在开发环境中使用,避免影响生产环境。

未来,ViewConfig 将支持在 .NET Core 控制台项目中的使用。希望本文能为您提供实用的帮助,如果有任何疑问或建议,欢迎随时联系。

转载地址:http://cgeyz.baihongyu.com/

你可能感兴趣的文章
openSUSE推出独立 GUI 包管理工具:YQPkg,简化了整个软件包管理流程
查看>>
OpenVSwtich(OVS)Vlan间路由实战 附实验环境
查看>>
Openwrt LuCI模块练习详细步骤
查看>>
OpenWrt固件编译刷机完全总结
查看>>
Open××× for Linux搭建之二
查看>>
Open×××有线网络时使用正常,无线网络时使用报错的解决方案
查看>>
Operation not supported on read-only collection 的解决方法 - [Windows Phone开发技巧系列1]
查看>>
Operations Manager 2007 R2系列之仪表板(多)视图
查看>>
operator new 与 operator delete
查看>>
operator() error
查看>>
OPPO K3在哪里打开USB调试模式的完美方法
查看>>
Optional类:避免NullPointerException
查看>>
ORA-00932: inconsistent datatypes: expected - got NCLOB【ORA-00932: 数据类型不一致: 应为 -, 但却获得 NCLOB 】【解决办法】
查看>>
ORA-00942 表或视图不存在
查看>>
ORA-01795: 列表中的最大表达式数为 1000
查看>>
ORA-06575: 程序包或函数 NO_VM_DROP_PROC 处于无效状态
查看>>
ORA-08102的错误
查看>>
ora-12541:tns:no listener
查看>>
【docker知识】联合文件系统(unionFS)原理
查看>>
ORACEL学习--理解over()函数
查看>>