C# WCF服务具有多个端点的单个代理实例

C# WCF服务具有多个端点的单个代理实例,c#,wcf,windows-services,C#,Wcf,Windows Services,我开发了一个托管在Windows服务中的WCF服务,该服务将向第三方Web服务发送请求,并期望得到响应。因此,我所能得到的只是第三方服务所在地的url/wsdl信息 我想实现一个测试服务,该服务将响应我的请求,并通过在visual studio中向实际服务添加服务引用来创建该服务的单个代理。因此,将来可能会有任意数量的第三方应用程序提供其URL以供通信 关于WCF,我的问题是我是否可以创建一个单一的代理客户端,然后根据url动态地将请求发送到Web服务?通过动态传递绑定和地址参数,是否可以对HT

我开发了一个托管在Windows服务中的WCF服务,该服务将向第三方Web服务发送请求,并期望得到响应。因此,我所能得到的只是第三方服务所在地的url/wsdl信息

我想实现一个测试服务,该服务将响应我的请求,并通过在visual studio中向实际服务添加服务引用来创建该服务的单个代理。因此,将来可能会有任意数量的第三方应用程序提供其URL以供通信


关于WCF,我的问题是我是否可以创建一个单一的代理客户端,然后根据url动态地将请求发送到Web服务?通过动态传递绑定和地址参数,是否可以对HTTP和HTTPS使用相同的代理客户端?

一旦创建了代理,就不能更改其地址。您可以有多个开放代理,每个第三方一个。此外,http和https不能重复使用单个代理,因为它们使用不同的绑定(除上述原因外)


此行为的一个原因(可能与您的情况相关,也可能与您的情况无关)是代理可以保持服务器状态,例如,开放式安全会话。

我终于能够理解wcf是如何工作的。因此,我尝试使用channelfactory,并能够将请求发送到第三方服务。但我再次对呼叫频道感到震惊,我必须在频道中传递各个端点的合同信息。有没有办法只传递请求从配置文件的端点到通道工厂的服务名称?不确定您的意思。创建渠道时,您需要通过合同。相反,如果您通过“添加服务引用”生成代理并实例化它,那么您可以仅从配置中以字符串形式给出名称