2016-07-26 64 views
1

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

作为一个例子:我必须发送数据到一个方法调用UpdateCustomers(int id,字符串名称,字符串姓氏,DateTime DateofBirth)给提供者,如果我们决定使用提供者A能够更改webservice url in配置为指向,或者当我们决定改变到B等等

web服务是的.asmx或.SVC

我找的提示和建议。

问候

回答

1

听起来像是WCF Routing工作。

根据您希望如何路由呼叫,您可以定义message filters,您可以使用它来评估传入呼叫是否符合一组条件,例如,肥皂有效载荷中的某个值被设置为特定值:

<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> 
+0

感谢汤姆,我会考虑这一点,并让你知道 –