-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
StringDictionary is not supported by Microsoft.Extensions.Configuration.Binder.ConfigurationBinder #46725
Comments
Tagging subscribers to this area: @maryamariyan Issue DetailsThe StringDictionary class is a prefect representation of a Dictionary that is represented by an IConfiguration interface, as the keys are case insensitive in both objects. I propose that either of the following options be implemented:
This would make it much simpler, and cleaner, when using IConfiguration. Additionally, there is a fatal flaw in the current design as Microsoft.Extensions.Configuration.ConfigurationBinder.CreateInstance() does not create a case insensitive dictionary, thus lookups for keys that vary only in case, fail.
|
StringDictionary will be marked as obsolete #889 |
@iSazonov I responded in the other thread, but you are aware that this, and several other of these specialized classes, are heavily used by ASP.NET, correct? This class alone is used as the basis for the entire configuration system. |
@Kaelum This can be actively used, but it does not reject the possibility of an new alternative based on generic Dictionary. |
ASP.NET Core doesn't use any of the specialized collections |
The StringDictionary class is a prefect representation of a Dictionary that is represented by an IConfiguration interface, as the keys are case insensitive in both objects.
I propose that either of the following options be implemented:
This would make it much simpler, and cleaner, when using IConfiguration.
Additionally, there is a fatal flaw in the current design as Microsoft.Extensions.Configuration.ConfigurationBinder.CreateInstance() does not create a case insensitive dictionary, thus lookups for keys that vary only in case, fail.
The text was updated successfully, but these errors were encountered: