ServerConnection.Cancel方法

Cri*_*usa 15 c# sql-server smo

SqlCommand类有一个取消方法是,根据该文件,允许一个取消命令.

我正在寻找通过smo Server执行的命令的等效方法.该ServerConnection级(服务器类的connectioncontext场)有取消方法,但文档不是它做什么明确的.

Bar*_*r J 1

SeverConnection.Cancel()方法的工作原理与该方法类似SqlCommand.Cancel(),并且文档指出:

如果没有什么可以取消,则不会发生任何事情。但是,如果正在处理命令,并且尝试取消失败,则不会生成异常。

在某些极少数情况下,如果您调用 ExecuteReader,然后在调用 Cancel 之前调用 Close(隐式或显式),然后调用 Cancel,则取消命令将不会发送到 SQL Server,并且在您调用 Close 后结果集可以继续流式传输。为了避免这种情况,请确保在关闭读取器或连接之前调用“取消”。

这意味着如果您在调用该close()方法之前调用它,则取消方法将起作用。

如果您在之后调用它,该命令将不会发送到 sql,从而导致在调用该close()方法之后继续流式传输到 sql。

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