【发布时间】:2013-10-24 17:54:39
【问题描述】:
我有一个 Windows 服务应用程序和一个 ASP.NET Web 应用程序,它们都是由 C# 创建的。两个应用程序都从数据库(SQL 服务器)获取数据。
一旦我从 Web 应用程序更新数据库,我如何通知服务应用程序从数据库重新加载数据?
目前我们的解决方案是使用服务控制器重新启动 windows 服务应用程序。是否有任何低成本的解决方案,例如服务应用程序和 Web 应用程序之间的通信?
对了,我老板讨厌轮询方式……
如果 wcf 是一种选择,任何人都可以发布一些材料吗?
非常感谢!
【问题讨论】:
-
我们使用了 msmq,只要有变化,Web 应用程序就会在队列中放入一条消息。并且只有当队列不为空时,Windows 服务才能重新加载数据.. 只需检查这是否适合您
-
你的意思是windows服务应该继续检查msmq队列吗?这是一种投票方式吗?我的老板真的很讨厌……
-
如果您在 Windows 服务中托管 WCF 服务,您可以添加一个通知端点,Web 应用程序将在更改时向其发送消息。 (您还可以在连接到 Web 应用程序的服务中使用 SignalR 客户端,以获取源自服务但让 Web 应用程序向服务发送消息的非轮询方法。
-
@Joe 谢谢。我提出了这个但被拒绝了......