我正在使用客户端服务器应用程序,其中客户端向请求队列中的服务器发送请求,服务器从队列处理它接收此请求对象,并在客户端应用程序接收的响应队列中发送响应。我希望 wcf 服务和客户端具有相同的功能,因此我是否需要为 msmq 创建两个不同的端点,如果是,则比同一个客户端如何与两个端点一起工作。
问问题
193 次
1 回答
2
您不应该将其视为严格的客户端服务器应用程序。您确实有一个称为客户端的请求发起者和一个称为服务器的请求处理器,但是当认为 WCF 客户端是发送消息的那个时,服务器是接收消息的那个。这意味着在 WCf 术语中,首先您的客户端实际上是一个经典的“客户端”,而服务器实际上是一个经典的“服务器”。但是,当您在处理原始请求并需要将其发回之后达到目的时 - 角色颠倒了!服务器成为 WCf 客户端,客户端成为 WCf 服务器。
这意味着您的进程需要为彼此公开一个单独的端点。服务器在某个 EP 上侦听传入消息(请求),客户端在某个 EP 上侦听传入消息(响应)。
希望这能澄清一些事情。
于 2012-08-08T18:27:27.183 回答