2013-06-20 71 views
1

我想知道是否有人可以提供一些建議。我有2個存儲庫,Repository A和Repository B.這兩個存儲庫目前都有一個用於設置網絡憑證以連接到Web服務的方法,但每次調用Web服務時都必須調用此方法,這是很多重複的代碼(每個W​​eb服務的網絡憑據都是相同的)。所以我希望有更好的方法來做到這一點?所有其他存儲庫繼承的基礎存儲庫

我在想的是擁有一個所有其他存儲庫都繼承的基礎存儲庫,它將實例化並設置網絡憑證,以便在連接到Web服務時可以使用它們。這會是一個很好的方法嗎?還是有更好的方法?

我想補充我使用統一的國際奧委會和DI(在我的控制器調用)

回答

2

你能不能有一個處理Web服務,該回購協議可以使用的調用一個單獨的類?例如

public class WebServiceCaller : IWebServiceCaller 
{ 
    private NetworkCredentials credentials { get; set; } 

    public WebServiceCaller() 
    { 
     this.credentials = new NetworkCredentials("Name", "Password"); 
    } 

    // .. Whatever else you need. 
} 

因此回購會對這在它們的構造函數:

public RepoA(IWebServiceCaller caller)

這種方式調用web服務的責任,認證,從回購帶走乾脆。

相關問題