可以在工厂模式中使用Web服务,因为代码是自动生成的,我不想改变它(例如添加基类)?
执行此操作的原因是,如果您有两个相同的Web服务,但一个用于测试数据,一个用于实时数据,并且您希望根据代码运行的环境在服务之间切换。< / p>
[编辑]
我正在使用C#3。
答案 0 :(得分:1)
如果您正在使用C#和SOAP,则可以在运行时更改目标:
var webSvc = new WebServerObjectName();
webSvc.Url = "http://examples/com/foo.asmx";
//or pull from .config, etc.
webSvc.Url = ConfigurationManager.AppSettings["WebServiceUri"].ToString();
//make the call to the web method
var custs = webSvc.GetCustomerList();
流程将是: