0

我有一个通过 wsDualHttpBinding 托管的回调服务。我正在寻找一个将轮询数据而不是接收回调的客户端(将是一个使用 wince 进行演示的移动设备)。我很好奇最好的方法是什么?您不能使用 NetCFSvcUtil 和由 wsDualHttpBinding 托管的服务创建客户端代理(我理解),但您不能通过 basicHttpBinding 托管回调服务。我真的需要托管在 basicaHttpBinding(客户端将轮询数据)和 wsDualHttpBinding(回调将通知客户端数据)上的相同服务。关于在不创建两个单独的服务来托管相同数据的情况下处理此问题的最佳方法的任何想法?

4

1 回答 1

2

托管相同数据的两个独立服务是什么意思?您是否希望共享同一个服务实例来处理 wsDualHttpBinding 和 basicHttpBinding 请求?

您当前的问题是用于双工通信的服务接口不能用于basicHttpBinding。您必须创建第二个服务合同并在同一服务中实施它。在这种情况下,您可以为服务公开两个端点:一个带有 WSDualHttpBinding 的双工,一个带有 BasicHttpBinding 的双工。端点必须具有不同的相对地址。从客户端的角度来看,这些端点是单独的服务——它们中的每一个都需要单独的客户端代理。因此,除非您的服务是单例的,否则您将为每个客户端代理拥有新的服务实例。新的服务实例意味着没有数据共享。

Thera 有一些修改此行为的可能性,但这意味着替换实例提供程序。

于 2010-09-20T19:31:05.630 回答