dotnet / dotnet/SqlClient

[PLACEHOLDER] Improve Async Pathways in Connectivity APIs

Open
#3,459 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
989
Forks
340
Avg merge
4d 18h
Merged PRs (30d)
69

Description

### Is your feature request related to a problem? Please describe.
This is a placeholder issue, more details will be added over time.

SqlConnection.OpenAsync() violates async best practices in numerous locations. This issue will track those locations and how they should be fixed.

- connection resiliency reconnect uses Task.Run. Introduce a sync api.
internal Task ValidateAndReconnect(Action beforeDisconnect, int timeout)
runningReconnect = Task.Run(() => ReconnectAsync(timeout));
- SqlInternalConnectionTds.cs - fedauth token acquisition
- _fedAuthToken = new(Task.Run(async () => await authProvider!.AcquireTokenAsync(authParamsBuilder)).GetAwaiter().GetResult());

### Describe the solution you'd like
A clear and concise description of what you want to happen.

### Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

### Additional context
Add any other context about the feature request here.

[AB#42261](https://sqlclientdrivers.visualstudio.com/b49eac2d-45b3-4951-899d-b8637b46f89a/_workitems/edit/42261)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.