使用SQLDependency / SqlNotificationRequest让同一个应用程序的多个实例收到相同的通知?

时间:2010-09-14 13:43:36

标签: .net sql-server service-broker sqldependency

我最近开始关注这个问题非常有限,因为ASP.NET Cache可能以某种方式利用SqlCacheDependency在表(或查询结果)发生变化时使缓存失效。这导致我进入SQLDependencySqlNotificationRequest类。虽然SqlNotificationRequest课程的细节仍然没有找到,但我确实学会了一些关于SQLDependency课程的知识。 Start方法需要更高的权限,然后我将能够为用户提供我的进程将连接到数据库,因此我做了一些研究并成功创建了QueueService Broker我的测试应用程序可用于获取通知。

我的问题是,如果我运行我的测试应用程序的多个实例,它就不起作用。我在这里和那里看到了一些小提示,这听起来好像我需要一个设置(QueueService Broker,等等...)每个实例,这听起来很麻烦,不可维护。

任何人都可以确认是这种情况,或者甚至建议一些替代解决方案吗?

此外,我们正在运行SQL Server 2005。

1 个答案:

答案 0 :(得分:1)

对于SQLDependency / SQLNotificationRequest,每个进程需要单独的队列。如果您的不同进程侦听同一队列,则无法保证事件通知。但这就是现在的情况。