ServerConnection.Cancel方法

时间:2015-03-16 18:35:24

标签: c# sql-server smo

SqlCommand类有一个Cancel方法,根据文档,可以取消命令。

我正在寻找通过smo Server class执行命令的等效方法。 ServerConnection类(服务器类的connectioncontext字段)has a Cancel method但文档不清楚它的用途。

1 个答案:

答案 0 :(得分:1)

SeverConnection.Cancel()方法同样SqlCommand.Cancel()方法和Documentation状态:

  

如果没有要取消的内容,则不会发生任何事情。但是,如果正在处理命令,并且尝试取消失败,则没有例外   产生。

     

在一些罕见的情况下,如果您调用ExecuteReader,则调用Close   (隐式或显式)在调用Cancel之前,然后调用   取消,取消命令将不会发送到SQL Server和   调用Close后,结果集可以继续流式传输。要避免这种情况,   确保在关闭阅读器之前调用取消或   连接。

表示取消方法有效,如果您在调用close()方法之前调用它。

如果你之后调用它,该命令将不会被发送到sql,导致在调用close()方法后继续流到sql。

此外,如果正在处理命令且取消尝试失败,您将不会收到错误,因为在这种情况下不会生成异常。