所以,我使用SqlCommand.Cancel取消了一个查询。 Sql客户端返回SqlException,并显示以下消息:
当前命令发生严重错误。结果,如果有的话, 应该丢弃。操作被用户取消。
很好。但是,我必须优雅地处理它,因为它不是应该报告的常规错误。问题是,除了消息之外,我发现SqlException对象中没有指示符可以识别它是由用户取消查询引起的。
我不想使用消息本身。消息可以在某一点更改,也可以在另一点翻译成另一种语言。错误号属性为0,Class属性为11.
答案 0 :(得分:3)
对于SQL Server 2008 R2和.NET 4.0,设置了SqlException的以下属性
如果属性SqlConnection.FireInfoMessageEventOnUserErrors设置为true
如果属性SqlConnection.FireInfoMessageEventOnUserErrors设置为false