1

我最近开始研究这个问题,但我知道 ASP.NET缓存可能会在表(或查询结果)更改时以某种方式使用SqlCacheDependency使缓存无效。这将我引向 SQLDependencySqlNotificationRequest类。虽然SqlNotificationRequest类的细节仍然让我难以理解,但我确实设法了解了一些关于SQLDependency类的知识。Start方法需要更大的权限,然后我才能给用户我的进程将连接到数据库,所以我做了一些研究并成功创建了一个队列服务代理我的测试应用程序可以用来获取通知。

我的问题是,如果我运行我的测试应用程序的多个实例,它就不起作用。我在这里和那里看到了一些提示,听起来好像我需要一个设置(队列服务代理等)每个实例才能工作,这听起来很混乱且无法维护。

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

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

4

1 回答 1

1

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

于 2011-01-28T07:37:37.237 回答