gla*_*asa 8 c# configuration asp.net-core
我为我的 ASP.NET Web 应用程序创建了一个自定义配置提供程序,我从其中继承Microsoft.Extensions.Configuration.ConfigurationProvider,并Load()覆盖该方法并IDictionary<string, string> Data使用新的Dictionary<string, string>().
所以我有一个 appsettings.json 配置文件,包含
{
"Token" : "Token 1"
}
Run Code Online (Sandbox Code Playgroud)
在我的自定义提供程序中,我用“Token 2”覆盖 Token
我的代码中有一个错误,我在其中调用了configuration["token"](小写),并且我注意到应用程序设置中的值已加载,但不是我的自定义提供程序中的值。
因此,appsettings 配置似乎不区分大小写,但我的自定义提供程序则不然。
那么应该是这样吗?我刚刚创建了一个新字典,我不确定是否可以在不编写更多代码的情况下使其不区分大小写。
Mar*_*llo 15
Microsoft 从 NuGet 作为 .NET 本身的一部分提供的提供程序默认使用不区分大小写的键 ( code )。
您的自定义提供程序是否区分大小写取决于您,但我建议您也这样做并使用不区分大小写的键值查找来支持源。
如果您使用的是Dictionary<K, V>,那么就像使用带有比较器和使用 的相同构造函数一样简单StringComparer.OrdinalIgnoreCase。
| 归档时间: |
|
| 查看次数: |
5514 次 |
| 最近记录: |