2011-09-02 105 views
1

我打算爲我的WCF客戶端創建包裝調用WCF服務的包裝。WCF:與客戶端的代理包裝共享服務合同

包裝器將實例化代理(使用服務引用生成的類),處理服務返回的錯誤並將它們轉發給調用者。包裝器也可以從Business Objects創建DTO,反之亦然。

例如,登錄視圖視圖模型會在單擊按鈕時調用登錄包裝的「登錄」方法。 View-Model會將用戶名和密碼傳遞給包裝器,這將創建一個新的數據傳輸對象(DTO)。然後Wrapper將調用我的服務上的「登錄」服務合同,傳入DTO,並將操作結果返回給調用者(即:登錄成功/失敗)。

因爲我使用IoC容器(Unity)在我的視圖模型中注入包裝,我需要爲包裝創建一個接口。

我想到我創建的接口也可能強加Wrappers實現的方法。

在這方面,定義Wrappers的項目是否應該引用定義服務契約的Web服務組件?

包裝然後將實施適當的服務合同。例如,UserManagementProxyWrapper類將實現在Web服務使用的程序集中定義的IUserManagement服務合同。

這是一個可接受的方法?接口是否具有WCF屬性(即:ServiceContracts/DataContract)對Wrappers的實現有什麼影響?

回答

2

如果您需要與WCF數據合同相同的輸入/輸出參數,那將是一個合適的解決方案。這些接口用屬性裝飾並不會造成任何區別。

+0

非常感謝您的確認,這正是我想知道的。 –

相關問題