鉴于代码是自动生成的并且我不想更改它(例如添加基类),是否可以在工厂模式中使用 Web 服务?
这样做的一个原因是,如果您有 2 个相同的 Web 服务,但一个用于测试数据,一个用于实时数据,并且您想根据代码运行的环境在服务之间切换。
[编辑]
我正在使用 C# 3。
鉴于代码是自动生成的并且我不想更改它(例如添加基类),是否可以在工厂模式中使用 Web 服务?
这样做的一个原因是,如果您有 2 个相同的 Web 服务,但一个用于测试数据,一个用于实时数据,并且您想根据代码运行的环境在服务之间切换。
[编辑]
我正在使用 C# 3。
如果您使用 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();
流程将是: