SqlDependency не срабатывает через некоторое времяC#

Место общения программистов C#
Anonymous
SqlDependency не срабатывает через некоторое время

Сообщение Anonymous »

Этот код работает хорошо в первую минуту или около того, но после этого любые изменения в базе данных больше не запускают прослушиватель. Я предполагаю, что есть какой-то тайм-аут соединения или сборщик мусора собирает что-то, о чем я не знаю.
Моя цель состоит в том, чтобы всякий раз и в любое время State = 0 событие должно запускаться
static void RegisterListener()
{
using var connection = new SqlConnection(Constants.CONNECTION_STRING);
using var command = new SqlCommand();
command.Connection = connection;
command.CommandText = @"SELECT ID_Richiesta FROM dbo.Richieste_Online_Documenti_CF WHERE State = 0";

var dependency = new SqlDependency(command);
dependency.OnChange += (sender, e) =>
{
RegisterListener();
if (e.Type == SqlNotificationType.Change)
{
OnChangeEvent();
}
};
connection.Open();
command.ExecuteReader().Dispose();
}

И в коде запуска у меня есть
SqlDependency.Start(Constants.CONNECTION_STRING);


Подробнее здесь: https://stackoverflow.com/questions/797 ... -some-time

Вернуться в «C#»