SqlConnection.OpenAsync(CancellationToken) 方法

定义

Open() 的异步版本,打开 ConnectionString 指定的属性设置的数据库连接。 取消标记可用于请求在连接超时超过前放弃操作。 异常将通过返回的任务传播。 如果在未成功连接的情况下连接超时时间已过,则返回的任务将被标记为“附带异常出错”。 实现返回一个不带有用于共用和非共用连接的锁定调用线程的“任务”。

public:
 override System::Threading::Tasks::Task ^ OpenAsync(System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task OpenAsync (System.Threading.CancellationToken cancellationToken);
override this.OpenAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overrides Function OpenAsync (cancellationToken As CancellationToken) As Task

参数

cancellationToken
CancellationToken

取消指示。

返回

表示异步操作的任务。

例外

在完成任务前,为同一个实例多次调用 OpenAsync(CancellationToken)

在连接字符串中指定 Context Connection=true

在经过连接超时时间之前从连接池中的连接不可用。

打开连接时出现的任何由 SQL Server 返回的错误。

取消令牌已取消。 此异常存储在返回的任务中。

注解

调用 OpenAsync后, State 必须返回 Connecting ,直到返回的 Task 完成。 然后,如果连接成功, State 则必须返回 Open。 如果连接失败, State 必须返回 Closed

调用 Close 将尝试取消或关闭相应的 OpenAsync 调用。

有关 .NET Framework Data Provider for SQL Server 中异步编程的详细信息,请参阅异步编程

此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 Open()异常。

适用于

另请参阅