问题标签 [duplex-channel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
74 浏览

wcf - 用于进程间通信的 WCF 双工通道

我有这样的系统:

Windows 服务(WCF、数据/事件)<-> Web 应用程序 <-> Web 客户端

我需要同时响应客户的请求。我也有一些为客户服务的活动。所以双工通道是要走的路。但我需要高吞吐量,因为客户端同时调用。

请求/回复方式

为了不序列化通道请求,我需要更多通道用于并行调用,对吗?但是如何处理回调通道呢?何保持它仍然打开以接收事件,即使在通道错误时?

单向方法

在通道上应该足够了(无需等待数据准备),但是如何将发送到回调的数据与原始请求链接,以便能够为客户端编写响应?

要走的路是什么?谢谢你。

0 投票
0 回答
48 浏览

.net - 双工 WCF 通道是否可以同时从两端请求服务?

客户端应用程序正在使用双工 WCF 通道连接到服务器应用程序。此通道的可能传输协议是命名管道或 TCP。

双工通道允许 Server 应用程序主动请求对 Client 的操作。

该通道是否可以同时向两端请求服务?

换句话说:当客户端在使用通道时,服务器可以请求回调操作吗?

或者反过来说,当通道为回调请求提供服务时,客户端是否可以在服务器上开始请求?

0 投票
1 回答
162 浏览

wcf - WCF NetTcp 双工通道独立通信

我想创建一个双工 NetTcp 服务。我不确定什么是最好的方法。我有一个客户端定期将其状态发送到服务器,我有一个服务器必须定期发送独立于任何客户端请求的数据。因为我想避免两个连接并且对服务器上的客户端一无所知,所以我必须使用客户端打开的连接。所以就像我说的客户端定期发送状态信息。但是如何使用从客户端独立建立的连接通道向客户端发送数据。此外,从服务器发送到客户端的数据确实需要响应。

0 投票
0 回答
195 浏览

wcf - WCF-控制台主机中NETTCP双工服务的自定义用户名-密码身份验证

我正在搜索 wcf 服务中 nettcp 绑定的自定义用户名/密码身份验证示例,并将其托管在控制台应用程序上,但我找不到任何东西。所以我说要为自己写一个例子。

我得到了这个示例并将其更改为使用 app.config。所以我创建了这个配置文件:

所以我在本地系统上运行该服务并且它运行成功。然后我创建一个测试项目并使用这些配置文件添加该服务:

客户端在本地机器上运行成功,但是当我在远程机器上运行客户端并想要连接到服务时出现错误。

错误是An unsecured or incorrectly secured fault was received from the other party. See the inner FaultException for the fault code and detail. ,内部异常是An error occurred when verifying security for the message.

我的问题是如何使用 nettcp 绑定和自定义用户名/密码身份验证创建双工 WCF 服务并将其托管在控制台应用程序上?

0 投票
1 回答
269 浏览

c# - 将消息从 wcf 服务推送到 Windows 通用应用程序

我有一个托管在 Windows 服务上的 wcf 服务。WinForm 和 aspnet 站点从该服务中获取信息。我创建了 Uwp 应用程序并将其连接到相同的服务。Uwp 可以向服务发送请求并接收返回的数据。问题是当服务使用回调将数据推送到客户端时。当服务向应用广播时,应用什么也得不到。下次服务尝试广播或客户端尝试发送请求时,频道已损坏。客户端没有异常,只是没有收到响应。服务获得:

对象名称:“System.ServiceModel.Channels.ServiceChannel”。

没有内在的例外。堆栈是:

在 System.ServiceModel.Channels.CommunicationObject.ThrowIfDisposedOrNotOpen() 在 System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) 在 System.ServiceModel。 Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

在 [0] 处重新抛出异常:

主机配置:

UWP 连接:

即使服务向该客户端广播,MyTeamCityClient_ReceiveTeamCityBroadcastReceived也永远不会被调用。