现在有两个以上的webservices放在两台以上不同的机器上,但是这样两个webservices相同,然后winform要调用这几个webservices,但是如何实现依赖倒置,在调用端使用工厂方法来调用不同机器上的webservices

解决方案 »

  1.   

    没有必要用到“工厂”这个概念,因为webservice本来就支持不同的远程url的。不知道你使用哪一种web serivce客户端代理。例如vs2008/vs2010生成的默认的客户端代理程序,在new一个本地代理时的构造方法里提交参数endpoint就可以访问不同的服务器。而更早的vs生成的客户端代理程序则是使用本地代理的一个url属性来访问不同服务器的。
      

  2.   

    由于“样两个webservices相同”,那么他们的本地代理程序就是同一个,而不存在“依赖倒置”的要求。