Skip to content

Commit 48daafe

Browse files
Fix Async thread blocking on SqlConnection open for AAD modes
1 parent 83b8421 commit 48daafe

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlInternalConnectionTds.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2352,7 +2352,7 @@ internal SqlFedAuthToken GetFedAuthToken(SqlFedAuthInfo fedAuthInfo)
23522352
}
23532353
else
23542354
{
2355-
_fedAuthToken = authProvider.AcquireTokenAsync(authParamsBuilder).Result.ToSqlFedAuthToken();
2355+
_fedAuthToken = Task.Run(async () => await authProvider.AcquireTokenAsync(authParamsBuilder)).GetAwaiter().GetResult().ToSqlFedAuthToken();
23562356
_activeDirectoryAuthTimeoutRetryHelper.CachedToken = _fedAuthToken;
23572357
}
23582358
break;
@@ -2368,7 +2368,7 @@ internal SqlFedAuthToken GetFedAuthToken(SqlFedAuthInfo fedAuthInfo)
23682368
else
23692369
{
23702370
authParamsBuilder.WithUserId(ConnectionOptions.UserID);
2371-
_fedAuthToken = authProvider.AcquireTokenAsync(authParamsBuilder).Result.ToSqlFedAuthToken();
2371+
_fedAuthToken = Task.Run(async () => await authProvider.AcquireTokenAsync(authParamsBuilder)).GetAwaiter().GetResult().ToSqlFedAuthToken();
23722372
_activeDirectoryAuthTimeoutRetryHelper.CachedToken = _fedAuthToken;
23732373
}
23742374
break;
@@ -2384,13 +2384,13 @@ internal SqlFedAuthToken GetFedAuthToken(SqlFedAuthInfo fedAuthInfo)
23842384
{
23852385
username = _credential.UserId;
23862386
authParamsBuilder.WithUserId(username).WithPassword(_credential.Password);
2387-
_fedAuthToken = authProvider.AcquireTokenAsync(authParamsBuilder).Result.ToSqlFedAuthToken();
2387+
_fedAuthToken = Task.Run(async () => await authProvider.AcquireTokenAsync(authParamsBuilder)).GetAwaiter().GetResult().ToSqlFedAuthToken();
23882388
}
23892389
else
23902390
{
23912391
username = ConnectionOptions.UserID;
23922392
authParamsBuilder.WithUserId(username).WithPassword(ConnectionOptions.Password);
2393-
_fedAuthToken = authProvider.AcquireTokenAsync(authParamsBuilder).Result.ToSqlFedAuthToken();
2393+
_fedAuthToken = Task.Run(async () => await authProvider.AcquireTokenAsync(authParamsBuilder)).GetAwaiter().GetResult().ToSqlFedAuthToken();
23942394
}
23952395
_activeDirectoryAuthTimeoutRetryHelper.CachedToken = _fedAuthToken;
23962396
}
@@ -2632,7 +2632,7 @@ internal void OnFeatureExtAck(int featureId, byte[] data)
26322632
Debug.Assert(_tceVersionSupported <= TdsEnums.MAX_SUPPORTED_TCE_VERSION, "Client support TCE version 2");
26332633
_parser.IsColumnEncryptionSupported = true;
26342634
_parser.TceVersionSupported = _tceVersionSupported;
2635-
_parser.AreEnclaveRetriesSupported = _tceVersionSupported == 3;
2635+
_parser.AreEnclaveRetriesSupported = _tceVersionSupported == 3;
26362636

26372637
if (data.Length > 1)
26382638
{

src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlInternalConnectionTds.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2790,7 +2790,7 @@ internal SqlFedAuthToken GetFedAuthToken(SqlFedAuthInfo fedAuthInfo)
27902790
}
27912791
else
27922792
{
2793-
fedAuthToken = authProvider.AcquireTokenAsync(authParamsBuilder).Result.ToSqlFedAuthToken();
2793+
fedAuthToken = Task.Run(async () => await authProvider.AcquireTokenAsync(authParamsBuilder)).GetAwaiter().GetResult().ToSqlFedAuthToken();
27942794
_activeDirectoryAuthTimeoutRetryHelper.CachedToken = fedAuthToken;
27952795
}
27962796
break;
@@ -2806,7 +2806,7 @@ internal SqlFedAuthToken GetFedAuthToken(SqlFedAuthInfo fedAuthInfo)
28062806
else
28072807
{
28082808
authParamsBuilder.WithUserId(ConnectionOptions.UserID);
2809-
fedAuthToken = authProvider.AcquireTokenAsync(authParamsBuilder).Result.ToSqlFedAuthToken();
2809+
fedAuthToken = Task.Run(async () => await authProvider.AcquireTokenAsync(authParamsBuilder)).GetAwaiter().GetResult().ToSqlFedAuthToken();
28102810
_activeDirectoryAuthTimeoutRetryHelper.CachedToken = fedAuthToken;
28112811
}
28122812
break;
@@ -2822,13 +2822,13 @@ internal SqlFedAuthToken GetFedAuthToken(SqlFedAuthInfo fedAuthInfo)
28222822
{
28232823
username = _credential.UserId;
28242824
authParamsBuilder.WithUserId(username).WithPassword(_credential.Password);
2825-
fedAuthToken = authProvider.AcquireTokenAsync(authParamsBuilder).Result.ToSqlFedAuthToken();
2825+
fedAuthToken = Task.Run(async () => await authProvider.AcquireTokenAsync(authParamsBuilder)).GetAwaiter().GetResult().ToSqlFedAuthToken();
28262826
}
28272827
else
28282828
{
28292829
username = ConnectionOptions.UserID;
28302830
authParamsBuilder.WithUserId(username).WithPassword(ConnectionOptions.Password);
2831-
fedAuthToken = authProvider.AcquireTokenAsync(authParamsBuilder).Result.ToSqlFedAuthToken();
2831+
fedAuthToken = Task.Run(async () => await authProvider.AcquireTokenAsync(authParamsBuilder)).GetAwaiter().GetResult().ToSqlFedAuthToken();
28322832
}
28332833
_activeDirectoryAuthTimeoutRetryHelper.CachedToken = fedAuthToken;
28342834
}

0 commit comments

Comments
 (0)