2013-02-12 93 views
0

我正在開發一個WCF項目,並希望得到關於如何設計類的一些想法,如果我以正確的方式進行的話。目前我有2個接口IUser和ICase,在2個獨立的類文件(IUser.cs和ICase.cs)中,爲了便於閱讀,我想將它們分開。當執行這些我建立一個實現他們的分部類,所以後來我有2個其他文件User.cs和Case.cs,其中有作爲實現:wcf項目設計

public partial class AppService : ICase 

public partial class AppService : IUser 

這種方式再次實現分開。在構建web.config文件的端點時,每個合同都有兩個單獨的端點。

<endpoint address="" binding="wsHttpBinding" contract="AppService.ICase" /> 
<endpoint binding="wsHttpBinding" contract="AppService.IUser" /> 

我的問題是這是典型的如何做?還是有辦法將它結合起來,所以只有1個端點,而不是2個?我想將它們保留在不同的界面中,但是如果稍後添加更多界面,我是否需要不斷添加更多端點來公開該功能,還是有一種方法可以擁有多個界面,但只有一個端點可以將它們公開?

+0

與論壇網站不同,我們不使用「謝謝」或「任何幫助表示讚賞」,或在[so]上簽名。請參閱「[應該'嗨','謝謝',標語和致敬從帖子中刪除?](http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be -removed - 從 - 個)。 – 2013-02-12 19:44:16

回答

1

關於WCF中的契約的唯一約束是你應該有一個明確的契約。但是,你可以自由地多個接口合併爲一個:

public interface ICombinedInterface : ICase, IUser 

,並使用組合接口爲您的服務合同。

問題:「是否應該有一個或多個端點?」沒有一個簡單的答案。這取決於你的要求和優先事項。從客戶的角度來看,這並不重要。