【发布时间】:2014-11-16 11:04:33
【问题描述】:
我正在使用WebAPI 将一些数据推送到数据库中。
当WebAPI插入数据时,在同一服务器中运行的 Windows 服务必须得到通知
我见过this SO question,它建议使用Service Broker 或SqlDependency,但这个问题似乎是很久以前提出的。
我用谷歌搜索,但找不到任何更简单的解决方案。我只想when a new data is inserted to Database, a function in the the windows service should fire。
我们在WebAPI - Windows Services 上下文中是否有任何替代方案或非常相似的解决方案?
【问题讨论】:
-
Windows 服务能否定期轮询数据以进行更改?只是查找给定状态的记录?
-
@David:实际上,它将是
time-critical。所以,polling似乎不是一个好的选择。 -
啊,在这种情况下,
SqlDependency似乎是可行的方法。不幸的是,我从未使用过它,所以我无法提供具体的建议。 -
SqlDependency/QueryNotifications 提供低延迟,无需连续轮询。在幕后,它会阻塞接收通知,并在超时后定期重复。
-
你有这两个程序的源代码吗?在这种情况下,您可以使用Memory Mapped File
标签: c# .net sql-server asp.net-web-api windows-services