C# - Sqlconnection InfoMessage запуск только в конце выполнения

я использую

sqlConnection.InfoMessage += new SqlInfoMessageEventHandler(sqlConnection_InfoMessage);

и ExecuteNonQuery() для выполнения хранимой процедуры.

я использую RAISERROR("Custom Message", 10 , 1) WITH NOWAIT в хранимой процедуре, чтобы бросить сообщение.

я получаю все сообщение, брошенное sql server в конце выполнения запроса, которое я хочу во время процесса.

я мог бы получить все сообщение в режиме реального времени, установив sqlConnection.FireInfoMessageEventOnUserErrors = true; но это приводит к ошибке с серьезностью больше 10 также обрабатываются SqlInfoMessageEventHandler который я хочу выбросить как исключение .

есть ли способ получить мой пользовательский SQL infomessage с серьезностью 10 в режиме реального времени в eventHandler, но другой как исключение?

1 ответов


похоже, проблема в ExecuteNonQuery().

в моем случае я использовал ExecuteScalar() и удалить строку

sqlConnection.FireInfoMessageEventOnUserErrors = true;

, которые вызывают RAISERROR("Custom Message", 10 , 1) WITH NOWAIT быть пойманным eventHandler и другими в качестве исключений в режиме реального времени.