2011-03-24 71 views
0

在WCF■設計編碼標準,它說: 「不要複製代理代碼如果兩個或多個客戶端使用相同的合同,該因素代理一個單獨的類庫。」 我想知道什麼是上述國家的優勢在哪裏?代理代WCF

回答

3

除了DRY(不要重複自己)的一般原則,它避免了多種類型具有相同名稱和成員的潛在的混亂。

當然,如果你的兩個或多個客戶端是完全獨立的(單獨的Visual Studio解決方案),這是確定每一個都有自己的代理。

+0

是全部是分開/獨立的應用程序。 – NDeveloper 2011-03-24 09:01:41

+0

那麼你可以有一個「通用」庫,在這裏你可以隔離常見的行爲。 – DaeMoohn 2011-03-24 09:50:10

1

對我來說,這意味着如果您在多個地方使用代理方法,不重複的代碼,而不是將其移動到一個單獨的類。例如,如果因爲操作已更改而重新生成代理,則必須在使用該操作的任何地方更改代碼。如果該操作僅用於一個地方,則代碼更易於維護。

這也是封裝代理的使用,確保代理被正確使用的好辦法(完時,通道被關閉,妥善處理異常,通道中止如果異常捕獲等)。

我建議,如果你要使用你沒有使用Visual Studio添加服務引用生成代理的代理方式。如果可能,請考慮使用ChannelFactory實現。