Share via


DatabaseFacade.CanConnectAsync(CancellationToken) Method

Definition

Determines whether or not the database is available and can be connected to.

public virtual System.Threading.Tasks.Task<bool> CanConnectAsync (System.Threading.CancellationToken cancellationToken = default);
abstract member CanConnectAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
override this.CanConnectAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
Public Overridable Function CanConnectAsync (Optional cancellationToken As CancellationToken = Nothing) As Task(Of Boolean)

Parameters

cancellationToken
CancellationToken

A CancellationToken to observe while waiting for the task to complete.

Returns

true if the database is available; false otherwise.

Exceptions

Remarks

Any exceptions thrown when attempting to connect are caught and not propagated to the application.

The configured connection string is used to create the connection in the normal way, so all configured options such as timeouts are honored.

Note that being able to connect to the database does not mean that it is up-to-date with regard to schema creation, etc.

Entity Framework Core does not support multiple parallel operations being run on the same DbContext instance. This includes both parallel execution of async queries and any explicit concurrent use from multiple threads. Therefore, always await async calls immediately, or use separate DbContext instances for operations that execute in parallel. See Avoiding DbContext threading issues for more information and examples.

See Database connections in EF Core for more information and examples.

Applies to