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