Мне трудно работать с sqlDependency на sqlServer 2005. Вопрос:
- Как эффективно переинициализировать sqlDependency, чтобы он мог срабатывать
несколько раз?
вот моя реализация перерегистрации уведомления sqlDependency:
SqlCommand command = new SqlCommand(sqlCommandString, openedConnection);
SqlDependency sqlDependency = new SqlDependency(Command);
sqlDependency.OnChange += this.OnChangeHandler;
command.ExecuteNonQueryAsync();
- Но проблема с этим подходом состоит в том, что если я запускаю множественные операции вставки в базу данных одновременно, onChangeHandler запускается только один раз. Почему это случилось?
Edit1: Под одновременным словом я подразумеваю запуск команд sql один за другим, так что задержка между ними очень мала.
Например:
INSERT...;
INSERT...;
INSERT...;
после этих команд я получаю только одно уведомление, тогда как, если я запускаю все эти команды одну за другой, я получаю все 3 уведомления
Вот функция, которую я вызываю incide OnChangeHndler:
public void RegisterSqlDependency(string sqlCommandString, EventHandler eventHandler)
{
SqlCommand command = new SqlCommand(sqlCommandString, this.connection);
SqlDependency sqlDependency = new SqlDependency(command);
sqlDependency.OnChange += this.OnChangeHandler;
command.ExecuteNonQueryAsync();
}