0

我有两个需要相互通信的应用程序。我在每个应用程序中实现了一个 WCF 服务,两个都打开通道以接收来自对方的请求。麻烦的是,当两个通道都打开时,我得到一个“在 net.pipe://localhost 上没有可以接受消息的端点监听”异常。

如果我只打开其中一个,那么它们都可以工作。如何实现双向 WCF,或者至少允许两个应用程序作为服务器和客户端?

标记

4

2 回答 2

1

你的问题显示出困惑,让我更加困惑。第一步:你到底想做什么?您希望两个应用程序进行通信吗?那么通常你需要一个“服务器”和一个“客户端”。使用双工通信,双方可以向对方发送消息,而不需要请求-响应(如 HTTP)。

因此,让第一个启动的应用程序充当服务器,而其他应用程序作为客户端。要充当客户端,您可以使用服务引用,即强类型 WCF 客户端。

于 2013-07-09T07:51:04.473 回答
1

您可以在每个应用程序中实现一个服务器。但是,它们必须侦听不同的端点(不同的标识符)。然后每个应用程序都需要有一个客户端来连接另一个应用程序中的服务器。

这样,两个应用程序都可以类似地实现,但又是独立的。事实上,您可以创建一个同时具有服务器/客户端的程序集,并通过应用程序配置 (app.config) 配置端点。

使用一台服务器/一台客户端是否更好应该取决于应用程序的实际任务。如果它们相等,则很难分辨谁是服务器,谁是客户端。

于 2013-07-09T07:59:20.373 回答