0
假设代码是自动生成的并且我不想改变它(例如添加一个基类),Web服务可以在工厂模式中使用吗?测试和实时Web服务的工厂模式
这样做的原因是,如果您有两个相同的Web服务,但一个用于测试数据,一个用于实时数据,并且您希望基于代码运行的环境在服务之间切换。
[编辑]
我使用C#3
假设代码是自动生成的并且我不想改变它(例如添加一个基类),Web服务可以在工厂模式中使用吗?测试和实时Web服务的工厂模式
这样做的原因是,如果您有两个相同的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();
,流量为:
感谢您回复,我不是这将如何使用Web引用时工作明确。我是否创建1个Web引用并在运行时更改URL? – DaveC 2010-09-11 17:14:06
@DaveC:是的,你只需要做一次网页参考。如果我们谈论.NET,那真的只是让代理类来抽象HTTP细节。所以是的,只需要一次,并在webmethod调用之前在运行时更改URL端点。 – 2010-09-11 18:32:06