You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
Today it is possible for multiple requests to attempt to load the same CredentialDescription from the same source when DefaultCredentialsLoader.LoadCredentialsIfNeededAsync API is invoked. This can be expensive when the HTTP request needs to be sent to access a certificate from KeyVault.
Describe the solution you'd like
Introduce a lock such that only a single request is attempting to load the same CredentialDescription. Allow concurrent loading of different credentialDescriptions. A request should be able to access and read the value of the credentialDescription.CachedValue property to recognize that a given credential has already been loaded and cached, thereby preventing unnecessary thread blocking.
Microsoft recommends using the SemaphoreSlim class for synchronization within a single app
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
Today it is possible for multiple requests to attempt to load the same CredentialDescription from the same source when DefaultCredentialsLoader.LoadCredentialsIfNeededAsync API is invoked. This can be expensive when the HTTP request needs to be sent to access a certificate from KeyVault.
Describe the solution you'd like
Introduce a lock such that only a single request is attempting to load the same CredentialDescription. Allow concurrent loading of different credentialDescriptions. A request should be able to access and read the value of the credentialDescription.CachedValue property to recognize that a given credential has already been loaded and cached, thereby preventing unnecessary thread blocking.
Microsoft recommends using the SemaphoreSlim class for synchronization within a single app
The text was updated successfully, but these errors were encountered: