Nez*_*eli 0 sql-server ado.net sqlclient
因此,我使用 取消了查询SqlCommand.Cancel。Sql 客户端返回了SqlException以下消息:
当前命令发生严重错误。如果有结果,则应丢弃。操作被用户取消。
我没意见。但是,我必须优雅地处理它,因为这不是应该报告的常规错误。问题是,除了消息之外,我发现的对象内没有任何指示符SqlException可以识别它是由用户取消查询引起的。
我不想使用消息本身,因为它可能在某些时候被更改或翻译成另一种语言。ErrorNumber属性为0且Class属性为11。
SqlException对于 SQL Server 2008 R2 和 .NET 4.0 ,设置以下属性:
如果该SqlConnection.FireInfoMessageEventOnUserErrors属性设置为true:
Class:16Number: 3204Message:备份或恢复已中止。RESTORE DATABASE 异常终止。操作被用户取消。如果该SqlConnection.FireInfoMessageEventOnUserErrors属性设置为false:
Class: 11Number: 0Message:操作被用户取消。