我正在使用SqlDependency来监控数据库中的更改。为了便于理解,假设这些是股票报价。该应用程序还使用(另一个)SqlDependency对象来监视静态数据的更改,该数据被缓存在应用程序中。
当启动应用程序时,我会通过
现在,当用户选择一个股票符号时,将设置另一个SqlDependency并通知我进行更改,我可以根据此采取行动。当用户更改要跟踪的符号时,我必须设置新的SqlDependency并且必须清除旧的SqlDependency。
我的问题是:这是真的吗?我如何能够清除特定的依赖项?
所有这些都引出了一个问题,即是否使用SqlDependency来进行缓存是正确的方式,或者是否有其他好的简单实践方法可以实现这一点?
当启动应用程序时,我会通过
SqlDependency.Start()
启动依赖项,并在关闭应用程序时调用SqlDependeny.Stop
。到目前为止一切正常。现在,当用户选择一个股票符号时,将设置另一个SqlDependency并通知我进行更改,我可以根据此采取行动。当用户更改要跟踪的符号时,我必须设置新的SqlDependency并且必须清除旧的SqlDependency。
我的问题是:这是真的吗?我如何能够清除特定的依赖项?
SqlDependency.Stop()
是一个静态方法,可以停止所有依赖项 - 即使在那里,我也不确定SQL服务器上的通知订阅是否真正清除 - 还是等待超时。所有这些都引出了一个问题,即是否使用SqlDependency来进行缓存是正确的方式,或者是否有其他好的简单实践方法可以实现这一点?