Уведомления SQL Server - My OnChange не запускается
Я хотел бы использовать уведомления SQL Server для захвата событий вставки в моей базе данных в приложении winforms. Я пытаюсь использовать объект SQLDependency. Статьи MSDN заставляют это казаться довольно прямым. Поэтому я создал небольшой пример приложения, чтобы попробовать его. Похоже, что событие происходит только при первом входе в приложение (появляется MessageBox). Вставка данных в таблицу не вызывает событие OnChange, как это может показаться. Может кто-нибудь сказать мне, что ям отсутствует? Спасибо!
public Main()
{
InitializeComponent();
var check = EnoughPermission();
SqlDependency.Stop(constr);
SqlDependency.Start(constr);
if(connection == null)
{
connection = new SqlConnection(constr);
}
if(command == null)
{
command = new SqlCommand("Select ID, ChatMessage FROM dbo.Chat",connection);
}
connection.Open();
command.Notification = null;
SqlDependency dependency = new SqlDependency(command);
dependency.OnChange += new OnChangeEventHandler(dependency_OnChange);
command.ExecuteReader();
}
private void dependency_OnChange(object sender, SqlNotificationEventArgs e)
{
MessageBox.Show("Change!");
}