Я использую SqlTableDependency и SignalR в своем проекте ASP.NET WebAPI для отправки уведомлений в реальном времени клиентскому приложению. Все работает просто отлично. Однако SqlTableDependency прекращает прослушивание изменений базы данных через некоторое время.
Мой проект WebAPI выполняется в локальном IIS. Я не уверен, но я думаю, что время ожидания простоя в пуле приложений IIS является основной причиной проблемы. IIS может завершать работу приложения после истечения времени ожидания, в результате чего сторожевой таймер SqlTableDependency запускается и удаляет все объекты БД (триггеры, очереди и т. Д.).
Что было бы хорошей стратегией для решения этой проблемы? Есть ли способ проверить, наблюдает ли SqlTableDependency за изменениями в таблице? Так что, если это не так, я могу создать новый экземпляр этого. Или это хорошая практика, чтобы просто отключить время ожидания для моего проекта WebAPI?
Любые идеи или предложения приветствуются.