2017-02-10 145 views
0

WCF双工通道口有系统是这样的:进程间通信

Windows服务(WCF,数据/事件)< - >网络应用< - > Web客户端

我需要为客户同时响应要求。我也有一些为客户服务的活动。所以双工频道是要走的路。但是我需要高吞吐量,因为客户同时拨打电话。

请求/应答方式

为了不序列化,我需要并行调用多个通道,右声道的请求?但是如何处理回调通道呢?何保持它仍然开放接收事件,即使在频道错误?

单向方法

在通道应该足够(不等待数据准备),但如何链接发送与原始请求回调,才能够构成对客户的响应数据?

什么路要走?谢谢。

回答

0

在一个简单的情况下,当Web客户端向Web应用发送请求并且Web应用(可能)向WCF服务发送请求时,根本不需要双工绑定。

至于事件,通过服务提升到Web客户端被解雇,我建议使用message broker支持WebSockets - 例如RabbitMQ。它有一个plugin兼容WebSockets和WCF binding

把东西放在一起,可以创建一个RabbitMQ服务器,它接受来自WCF服务的消息并将其发送到Web客户端,该客户端订阅Javascript的事件源。

+0

在我看来,它将类似于Web应用程序中的第二个WCF服务,仅用于接收来自Windows服务的事件,并将它们推送给使用SignalR(已在我的解决方案中使用过)中的客户端。不错的主意。 :-) – Fanda