Skip to content

Commit 7b14dab

Browse files
committed
Fix singleton initialization for environment property
1 parent 7cb99d5 commit 7b14dab

File tree

1 file changed

+9
-23
lines changed

1 file changed

+9
-23
lines changed

src/Common/Commands.Common.Authentication.Abstractions/AzureEnvironment.cs

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -122,34 +122,20 @@ static IDictionary<string, AzureEnvironment> InitializeBuiltInEnvironments()
122122
BatchEndpointResourceId = AzureEnvironmentConstants.GermanBatchEndpointResourceId,
123123
AdTenant = "Common"
124124
};
125-
return new Dictionary<string, AzureEnvironment>(StringComparer.InvariantCultureIgnoreCase)
126-
{
127-
{ EnvironmentName.AzureCloud, azureCloud },
128-
{ EnvironmentName.AzureChinaCloud, azureChina },
129-
{ EnvironmentName.AzureUSGovernment, azureUSGovernment },
130-
{ EnvironmentName.AzureGermanCloud, azureGermany }
131-
132-
};
125+
var result = new ConcurrentDictionary<string, AzureEnvironment>(StringComparer.InvariantCultureIgnoreCase);
126+
127+
result[EnvironmentName.AzureCloud] = azureCloud;
128+
result[EnvironmentName.AzureChinaCloud] = azureChina;
129+
result[EnvironmentName.AzureUSGovernment] = azureUSGovernment;
130+
result[EnvironmentName.AzureGermanCloud] = azureGermany;
131+
132+
return result;
133133
}
134134

135-
static int _initialized = 0;
136-
static IDictionary<string, AzureEnvironment> _builtInEnvironments;
137135
/// <summary>
138136
/// Predefined Microsoft Azure environments
139137
/// </summary>
140-
public static IDictionary<string, AzureEnvironment> PublicEnvironments
141-
{
142-
get
143-
{
144-
if (Interlocked.Exchange(ref _initialized, 1) == 0)
145-
{
146-
_builtInEnvironments = InitializeBuiltInEnvironments();
147-
}
148-
149-
return _builtInEnvironments;
150-
}
151-
}
152-
138+
public static IDictionary<string, AzureEnvironment> PublicEnvironments { get; } = InitializeBuiltInEnvironments();
153139

154140
public AzureEnvironment()
155141
{

0 commit comments

Comments
 (0)