WCF - 仅通过端点名称以编程方式创建客户端
问题描述:
我的WCF客户端可以连接到多个端点。但他们都有不同的地址,绑定和合同。所以我的问题是:如何根据我想要连接的端点的名称(我在我的代码中)编程创建我的WCF客户端WCF - 仅通过端点名称以编程方式创建客户端
答
如果我正确理解您的问题,我相信这是回答[使用IPC,可以很容易地转换为其他通信类型]
监听器:
_host = new ServiceHost(typeof(ContractClass));
_host.AddServiceEndpoint(typeof(IContract), new NetNamedPipeBinding(), new Uri("net.pipe://localhost/" + listenerEndpointName));
_host.Open();
客户:
var factory = new ChannelFactory<IContract>(new NetNamedPipeBinding(), new EndpointAddress("net.pipe://localhost/" + listenerEndpointName));
IContract proxy = factory.CreateChannel();
我只是谈论的客户,而不是服务器。在客户端代码上,我没有合同类型。它可能会有所不同,取决于端点 –
因此,只需添加一个'switch'语句,它将决定将被传送到工厂的'type' – Nissim
我想过这个。但是没有使用wcf或.net的答案?我的意思是没有.net类可以做这件事吗? –