C# 与多个web服务动态通信

C# 与多个web服务动态通信,c#,web-services,wcf,asmx,svc,C#,Web Services,Wcf,Asmx,Svc,我正在寻找一些关于我如何能做一件工作的建议。基本上,我有多个采用相同方法和参数的Web服务。总是需要获取代理类,并且在接受新的提供者时更改代码,这是一件痛苦的事情。我正在寻找能够在我的配置中添加webservice URL的方法,并且在运行时,能够编译生成代理类并与远程机器动态通信 举个例子:我必须将数据发送到一个名为UpdateCustomers(int id、字符串名称、字符串姓氏、DateTime DateofBirth)的方法给一个提供程序,如果我们决定使用提供程序a,则可以将配置中的w

我正在寻找一些关于我如何能做一件工作的建议。基本上,我有多个采用相同方法和参数的Web服务。总是需要获取代理类,并且在接受新的提供者时更改代码,这是一件痛苦的事情。我正在寻找能够在我的配置中添加webservice URL的方法,并且在运行时,能够编译生成代理类并与远程机器动态通信

举个例子:我必须将数据发送到一个名为UpdateCustomers(int id、字符串名称、字符串姓氏、DateTime DateofBirth)的方法给一个提供程序,如果我们决定使用提供程序a,则可以将配置中的webservice url更改为指向a,或者当我们决定更改为B时,等等

Web服务是.asmx或.svc

我在寻找暗示和建议

问候

听起来像是一份适合你的工作

根据您希望如何路由呼叫,您可以定义可用于评估传入呼叫是否满足一组标准的方法,例如,将soap负载中的某个值设置为特定值:

<filters>
    <filter name="myXPathFilter1" 
            filterType="XPath" 
            filterData="//valueIWantToFilterOn = somevalue"/>
</filters>

然后可以注册过滤器以映射到特定端点:

<filterTables>
    <table name="myRoutingTable">
        <filters>
           <add filterName="myXPathFilter1" endpointName="UpdateCustomers1" />
           <add filterName="myXPathFilter2" endpointName="UpdateCustomers2" />
           ...
        </filters>
    </table>
</filterTables>

...

谢谢,汤姆,我会调查此事并让你知道