2009-09-02 43 views
0

我的上級曾告訴我,調用Web服務或wcf服務的一種不好的方式就是將其視爲其引用的程序集,即實例化類並調用方法。針對Web服務進行開發

雖然我看不到其他方式。有沒有在我與外部Web服務/服務進行交互,或者這是罰款,我應該遵循一些最佳做法:

public class ServiceProxyManager : IServiceProxyManager 
{ 
    private Service1Soap _externalService; 

    public ServiceProxyManager() 
    { 
     _externalService = new Service1SoapClient(); 
    } 
} 

回答

2

如果注入Web服務到使用它的代碼,它的清潔。這樣你就可以通過模擬出界面來編寫測試。過去我已經取得了很多成功。

當然東西將要創建服務的接口,但並不必須是在調用它的代碼...

+0

對不起,我不明白你意味着將Web服務注入使用它的代碼中。 – TheLearner 2009-09-02 10:37:58

+0

而不是在構造函數中將其創建爲'ServiceProxyManager',將其作爲參數接受。將它包裝在一個界面中,以便您可以使用任何「看起來像」服務,包括嘲笑。 – 2009-09-02 10:58:55

+0

噢,好吧,我已經這樣做了。但是否則你認爲把它稱爲一個類是好的嗎? – TheLearner 2009-09-02 11:00:58