在不使用';SqlDependency';班
本文关键字:SqlDependency | 更新日期: 2023-09-27 18:19:58
我目前正在使用Microsoft SQL Server 2008。
我的生产服务器负载很重。
我的C#应用程序使用"SqlDependency"类来监视一些表更改。
在开发环境中,应用程序运行良好,并且来自SQL服务器的更改事件能够正确触发。
在生产环境中,即使没有任何更改,应用程序也会收到更改事件。我读到"SqlDependency"在重负载情况下表现不佳。
我正在寻找其他解决方案,有什么建议吗?
如果在没有更改的情况下收到通知,则意味着是其他事情触发了通知。必须始终检查在OnChange
处理程序上收到的SqlNotificationEventArgs
参数,并根据Info
、Source
和Type
做出适当反应。在生产中,您很可能会收到类似Info.Options
的通知,表示SET选项不正确(即特定于环境的问题)。
至于关于加载中的SqlDependency
的注释,您必须链接源代码。但查询通知总体上是为很少更改的数据的缓存无效而设计的。