Fixed the problem that Environment Variable configuration provider doesn't work if the prefix has 2 underscores #41092
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Proposal for fixing #40911.
The original problem was that loading a key-value pair ["TEST__TEST1__TEST2" : "42"] with prefix "TEST_"results in null because after Normalizing the Key "TEST_TEST1_TEST2" , it becomes "TEST:TEST1:TEST2" so the key no longer starts with intended prefix "TEST__".
As this problem occured because NormalizeKey is executed without any consideration of local variable _prefix which is provided via constructor. I changed AzureEnvToAppEnv to check if the prefix ends with "__" before Normalizing.
Now loading ["TEST__TEST1__TEST2" : "42"] with prefix "TEST_"_ results in env["TEST1:TEST2] == "42".