Вы можете установить "strictNullChecks": false в compilerOptions вашего tsconfig.json.
Да, в этом сообщении блога объясняется, что службы Notification Services теперь не рекомендуются, а также то, какие замены или альтернативы будут в будущем.
Для ваших целей - получения уведомлений об изменениях, произошедших в базе данных - похоже, вы хотите Отслеживание изменений SQL Server . Но уведомление - это модель вытягивания - ваше приложение должно выполнять запрос в таблице изменений.
Мне не удалось выяснить, продолжает ли SqlDependency работать с устаревшими службами Notification Services.
Существует несколько различных способов отслеживания изменений в базе данных: либо с помощью триггеров, которые поддерживают временные структуры, такие как невыполненные отчеты, журналы отслеживания (также известные как «таблицы аудита»), либо с помощью отслеживания изменений. возможности в SQL 2008 как ссылки в другом ответе. Независимо от того, какой механизм вы используете, у вас есть проблема с уведомлением об изменении в собственной службе. Для этого вы можете использовать Service Broker и активацию на основе событий. Из того, что вы описываете, похоже, что приложение ожидает события из очереди. http://msdn.microsoft.com/en-us/library/ms171581.aspx
Если вы не хотите, чтобы служба оставалась в очереди и спала в очереди, вы можете исследовать возможность запуска службы в жизнь «по запросу» с помощью внешнего механизма активации в брокере услуг.
Вы можете использовать System.Data.SqlClient.SqlDependency (который работает с компонентом Service Broker), чтобы подписаться на изменения в таблице.
Службы Notification Services устарели, но вы все равно не хотите их использовать.
В некоторых сценариях можно рассмотреть сообщения компонента Service Broker; детали зависят от вашего приложения.
В большинстве случаев вы, вероятно, можете использовать SqlDependency или SqlCacheDependency. Принцип их работы заключается в том, что вы включаете объект SqlDependency в свой запрос при его выполнении. Запрос может представлять собой одиночный SELECT или сложную группу команд в хранимой процедуре.
Когда-нибудь позже, если другой веб-сервер, пользователь или веб-страница внесут изменения в БД, которые могут привести к изменению результатов предыдущего запроса , то SQL Server отправит уведомление всем серверам, на которых зарегистрированы объекты SqlDependency. Вы можете либо зарегистрировать код для запуска при появлении этих событий, либо событие может просто очистить запись в кэше.
Хотя вам нужно включить компонент Service Broker для использования SqlDependency, вам не нужно взаимодействовать с ним явно. Однако вы также можете использовать его как альтернативный механизм; думайте об этом больше как о системе постоянного обмена сообщениями, которая гарантирует порядок сообщений и единовременную доставку.
Подробности использования этих систем немного длинны для сообщения на форуме. Вы можете найти их в Google, или я также приведу примеры в своей книге ( Сверхбыстрый ASP.NET ).