【问题标题】:Is there another way to use SqlNotificationRequest?还有另一种使用 SqlNotificationRequest 的方法吗?
【发布时间】:2015-01-13 13:06:31
【问题描述】:

我有一个简单的应用程序,它通过SqlNotificationRequest 监听 SQL 通知。由于某些原因和限制,我不能使用SqlDependency。 (根据SqlDependency limitations

如您所知,使用SqlNotificationRequest 需要处理所有内容,包括至少一个线程来读取数据库中的通知消息。

有什么方法可以丢弃线程并为此创建一个事件驱动结构?我的意思是 .net 客户端除了等待像 @987654325 这样的 SQL Server 触发事件之外什么都不做@。

【问题讨论】:

  • 最终,客户端需要在某个线程上执行命令才能接收通知消息。这可以是执行阻塞调用、轮询或两者的后台线程(具有超时的阻塞调用,如 SqlDependency)。只需在收到消息时引发一个事件。

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


【解决方案1】:

SqlDependency 的限制来自于查询通知的限制。 SqlNotificationRequest also uses Query Notification 并且会遇到完全相同的限制。

【讨论】:

  • 我不是要使用SqlNotificationRequest,我假设在SQL端使用Service Broker,但是.net端有什么机制可以避免连续检查。
  • 来自.Net:连接到服务器并发出RECEIVE
猜你喜欢
  • 2022-12-24
  • 1970-01-01
  • 2013-04-04
  • 2021-03-04
  • 1970-01-01
  • 2015-09-15
  • 2022-08-21
  • 2012-05-10
  • 1970-01-01
相关资源
最近更新 更多