![](/img/trans.png)
[英]Case-Insensitive Property Binding Without Using JsonProperty in .NET Core
[英]Are the configuration keys in asp.net core supposed to be case-insensitive?
我為我的 ASP.NET Web 應用程序創建了一個自定義配置提供程序,其中我從Microsoft.Extensions.Configuration.ConfigurationProvider
繼承,並覆蓋Load()
方法並使用新的Dictionary<string, string>()
, string> 初始化 prop IDictionary<string, string> Data
Dictionary<string, string>()
。
所以我有一個 appsettings.json 配置文件,包含
{
"Token" : "Token 1"
}
在我的自定義提供程序中,我用“令牌 2”覆蓋令牌
我的代碼中有一個錯誤,我在其中調用了configuration["token"]
(小寫),我注意到 appsettings 中的值已加載,但不是我的自定義提供程序中的值。
所以似乎 appsettings 配置不區分大小寫,但我的自定義提供程序不是。
那么它應該是嗎? 我剛剛創建了一個新字典,我不確定是否可以在不編寫更多代碼的情況下使其不區分大小寫。
默認情況下,Microsoft 從 NuGet 作為 .NET 的一部分提供的提供程序本身使用不區分大小寫的鍵( 代碼)。
您的自定義提供程序是否區分大小寫取決於您,但我建議您也這樣做並使用不區分大小寫的鍵值查找來支持源。
如果您使用的是Dictionary<K, V>
,那么它就像使用帶有比較器的相同構造函數並使用StringComparer.OrdinalIgnoreCase
一樣簡單。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.