在不使用';SqlDependency';班

本文关键字:SqlDependency | 更新日期: 2023-09-27 18:19:58

我目前正在使用Microsoft SQL Server 2008。

我的生产服务器负载很重。

我的C#应用程序使用"SqlDependency"类来监视一些表更改。

在开发环境中,应用程序运行良好,并且来自SQL服务器的更改事件能够正确触发。

在生产环境中,即使没有任何更改,应用程序也会收到更改事件。我读到"SqlDependency"在重负载情况下表现不佳。

我正在寻找其他解决方案,有什么建议吗?

在不使用';SqlDependency';班

如果在没有更改的情况下收到通知,则意味着是其他事情触发了通知。必须始终检查在OnChange处理程序上收到的SqlNotificationEventArgs参数,并根据InfoSourceType做出适当反应。在生产中,您很可能会收到类似Info.Options的通知,表示SET选项不正确(即特定于环境的问题)。

至于关于加载中的SqlDependency的注释,您必须链接源代码。但查询通知总体上是为很少更改的数据的缓存无效而设计的