DbConnection.CloseAsync 方法

定义

异步关闭与数据库之间的连接。

public:
 virtual System::Threading::Tasks::Task ^ CloseAsync();
public virtual System.Threading.Tasks.Task CloseAsync ();
abstract member CloseAsync : unit -> System.Threading.Tasks.Task
override this.CloseAsync : unit -> System.Threading.Tasks.Task
Public Overridable Function CloseAsync () As Task

返回

表示异步操作的 Task

注解

此异步方法的默认实现委托给其同步方法,并返回一个已完成 Task的 ,可能会阻止调用线程。

支持 异步编程 的数据提供程序应使用异步 I/O 操作替代默认实现。

CloseCloseAsync 方法回滚任何挂起的事务。 然后释放与连接池的连接,或者在禁用连接池的情况下关闭连接。

应用程序可以调用 CloseCloseAsync 多次。 不会生成异常。

DbConnection如果 超出范围,则不会关闭。 因此,必须通过调用 CloseDispose显式关闭连接,这在功能上是等效的。 如果连接池值 Pooling 设置为 trueyes,则也会释放物理连接。

注意

不要关闭或释放 DbConnection类的 方法中的 FinalizeDbDataReader或任何其他托管对象。 在终结器中,应仅释放类直接拥有的非托管资源。 如果类不拥有任何非托管资源,则不要在类定义中包含 Finalize 方法。 有关详细信息,请参阅垃圾回收

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

适用于