我正在编写一组WCF服务,它们将相互通信。我希望能够在服务器之间建立双向连接。但是,在某些情况下,不同类型的客户端(.NET或Javascript)应该能够与这些服务通信。
我目前在WsDualHttpBinding中使用回调,它似乎起到了作用,至少在基本意义上是这样。服务可以相互发送基本消息。我担心的是打开多个连接,因为带宽在未来可能会成为一个问题。
我担心NetHttpBinding是一个更好的工具。我想知道与WSDualHttpBinding相比,使用NetHttpBinding有哪些优点或缺点。
发布于 2018-09-11 15:18:13
WSDualHttpBinding支持超文本传输协议,覆盖范围更广。然而,NetHttpBinding的速度要快一些,因为它工作在网络中的nettcp上。
发布于 2018-09-25 22:55:51
创建WSDualHttpBinding是有原因的。WCF提供了对服务“回调”的支持-客户端上的方法,只要服务执行完成就会收到通知。不幸的是,超文本传输协议是一个单向通道,不允许回调(相比之下,TCPBinding允许回调,因为TCP是全双工通道)。为了绕过超文本传输协议的单向特性,发明了DualHttpBinding --两个同时打开的超文本传输协议连接--一个用于服务请求,另一个用于回调。
NetHttpBinding是为使用HTTP或WebSocket服务而设计的绑定,默认情况下使用二进制编码。NetHttpBinding将检测它是与请求-回复协定一起使用,还是与双工协定一起使用,并将其行为更改为匹配-它将使用HTTP作为请求-回复,将WebSockets用于双工。
https://stackoverflow.com/questions/52266190
复制相似问题