Ben*_*ein 4 .net c# asp.net .net-core asp.net-core
我想确保从配置源中读取特定的配置属性.我打算打印出所有配置源(或打印出所有配置属性),但我似乎无法弄清楚如何做到这一点.
可以这样做吗?
And*_*Cox 39
从 .NET Core 3.0+ 开始,您可以将您的转换IConfiguration为 aIConfigurationRoot并使用GetDebugView扩展方法。这将生成一个人类可读的配置视图,显示每个值的来源。例如
var root = (IConfigurationRoot)Configuration;
var debugView = root.GetDebugView();
Run Code Online (Sandbox Code Playgroud)
示例输出到debugView:
applicationName=Project.Name (Microsoft.Extensions.Configuration.ChainedConfigurationProvider)
ASPNETCORE_ENVIRONMENT=Development (EnvironmentVariablesConfigurationProvider)
ASPNETCORE_HTTPS_PORT=32774 (EnvironmentVariablesConfigurationProvider)
ASPNETCORE_LOGGING:
CONSOLE:
DISABLECOLORS=true (EnvironmentVariablesConfigurationProvider)
ASPNETCORE_URLS=https://+:443;http://+:80 (EnvironmentVariablesConfigurationProvider)
DOTNET_RUNNING_IN_CONTAINER=true (EnvironmentVariablesConfigurationProvider)
DOTNET_USE_POLLING_FILE_WATCHER=1 (EnvironmentVariablesConfigurationProvider)
AllowedHosts=* (JsonConfigurationProvider for 'appsettings.json' (Required))
Kestrel:
Certificates:
Development:
Password=xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxx (JsonConfigurationProvider for 'secrets.json' (Optional))
EmailOptions:
EnableSsl=False (JsonConfigurationProvider for 'appsettings.json' (Required))
ENVIRONMENT=Development (Microsoft.Extensions.Configuration.ChainedConfigurationProvider)
HOME=/root (EnvironmentVariablesConfigurationProvider)
HOSTNAME=2cb0f5c24cc0 (EnvironmentVariablesConfigurationProvider)
HTTPS_PORT=32774 (Microsoft.Extensions.Configuration.ChainedConfigurationProvider)
NUGET_FALLBACK_PACKAGES=/root/.nuget/fallbackpackages;/root/.nuget/fallbackpackages2 (EnvironmentVariablesConfigurationProvider)
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin (EnvironmentVariablesConfigurationProvider)
PWD=/app (EnvironmentVariablesConfigurationProvider)
RUNNING_IN_CONTAINER=true (Microsoft.Extensions.Configuration.ChainedConfigurationProvider)
URLS=https://+:443;http://+:80 (Microsoft.Extensions.Configuration.ChainedConfigurationProvider)
USE_POLLING_FILE_WATCHER=1 (Microsoft.Extensions.Configuration.ChainedConfigurationProvider)
Run Code Online (Sandbox Code Playgroud)
您可以通过执行以下操作获取所有配置源发现的所有密钥的列表:
var keys = builder.Build().AsEnumerable().ToList();
Run Code Online (Sandbox Code Playgroud)
我没有找到单独构建每个配置源的方法,因此您可以单独查看源.
在调试模式下,您可以看到私有成员并查看每个配置源:
| 归档时间: |
|
| 查看次数: |
2065 次 |
| 最近记录: |