我有两个需要相互通信的应用程序。我已经在每个应用程序中实现了WCF服务,两个应用程序都打开通道以接收对方的请求。问题是,当两个通道都打开时,我得到一个“没有端点在net.pip://localhost上侦听可以接受消息的端点”异常。
如果我只打开其中的一个,那么它们都可以工作。我如何实现双向WCF,或者至少允许两个应用程序都作为服务器和客户端?
标记
发布于 2013-07-09 15:51:04
你的问题显示出困惑,让我更加困惑。第一步:你到底想做什么?您希望两个应用程序进行通信吗?一般情况下,你需要一个“服务器”和一个“客户端”。使用双工通信,双方都可以向对方发出消息,而不需要请求-响应(如HTTP)。
因此,让第一个要启动的应用程序充当服务器,让其他应用程序充当客户端。要充当客户端,可以使用服务引用,这是一种强类型的WCF客户端。
发布于 2013-07-09 15:59:20
您可以在每个应用程序中实现一个服务器。但是,它们必须监听不同的端点(不同的标识符)。然后,每个应用程序都需要有一个客户端来连接另一个应用程序中的服务器。
通过这种方式,两个应用程序都可以实现类似的功能,但它们是独立的。实际上,您可以创建一个同时具有服务器/客户端的程序集,并通过应用程序配置(app.config)来配置端点。
使用一台服务器/一台客户端是否更好应该取决于应用程序的实际任务。如果它们相等,就很难区分谁是服务器,谁是客户端。
https://stackoverflow.com/questions/17542422
复制相似问题