如何在Windows服务和在不同计算机上运行的桌面应用程序之间进行通信

时间:2015-04-30 15:38:57

标签: c# wcf push-notification windows-services signalr

我正在编写一个通知客户端桌面应用程序,以安装在单个网络上的多台计算机上。这些客户端将与在同一网络内的单个计算机上运行的中央Windows服务进行通信。客户端和服务都是用C#.Net编写的。我正在尝试确定我应该使用哪些技术或框架来进行客户端应用程序和Windows服务之间的通信。我希望使用推送通知模式而不是从客户端轮询。

到目前为止,我已经研究过SignalR和WCF。使用NamedPipes的WCF看起来很有前景,但我看到WCF NamedPipes实现的限制是它必须在同一台机器上,所以这对我来说不起作用。 SignalR似乎是一个不错的选择,但我不确定是否有其他框架不需要托管Web服务器来支持HTTP。

任何建议?

1 个答案:

答案 0 :(得分:2)

您可以考虑MSMQ发送消息。 https://msdn.microsoft.com/en-us/library/ms978430.aspx

此框架不需要任何特殊内容,因为它包含在Windows中。您可能需要将MSMQ安装为Windows功能。在我的使用中,它是一个非常好的实用程序,允许通知和许多其他功能。

相关问题