我有以下问题:我的.net应用程序使用dbcommand.executescalar()启动了一个长db查询(一个sql过程调用)。然后,应用程序的另一个线程试图通过调用dbcommand.cancel()方法取消(中止)查询。但什么都没发生。我在想——也许这是因为dbcommand对象在dbcommand.commandtimeout中有一个很大的值(很多小时)?可能dbcommand.cancel()的逻辑如下:“首先等待dbcommand.commandtimeout的时间,然后才真正中止正在执行的命令”--?听起来很奇怪;但我没有其他解释。有关该方法的文档(https://docs.microsoft.com/en-us/dotnet/api/system.data.common.dbcommand.cancel?view=netframework-4.7.2 )什么都没说。
暂无答案!
目前还没有任何答案,快来回答吧!