我目前正在開發一個Web服務,它應該公開大量的與之交互的方法。WCF:使用部分類拆分複雜的Web服務?
例如,客戶端可能能夠與Web服務交互以管理數據庫中的用戶或項目。
爲此,我創建了以下類:
- 兩個數據合同:IUsersServiceContract和IProjectsServiceContract
- 兩份服務合約的接口:IUsersServiceContract和IProjectsServiceContract
我的問題如下:
是否有意義創建兩個不同的Web服務,每個都有自己的端點,而不是創建一個實現兩個服務契約接口的大類?
請記住,實際上我會有更多的服務合同接口處理不同種類的數據。
據我所知,使用部分類(在多個文件中拆分)將允許我創建一個只有一個端點的大型Web服務。
這有一個缺點,就是處理多個文件中的一個大類拆分,即:如果開發人員「看不到全局」,則難以維護並更容易出錯。
另一種解決方案是實現一個服務合同接口的Web服務。從本質上講,如果我有X服務契約接口,我最終會得到帶有X端點的X Web服務。
您會選擇哪種解決方案?爲什麼?
感謝您的輸入!
謝謝Faester,您的評論確認了我對部分課程的擔憂。我也很感謝你的意見,我會遵循你的指導方針。但是有一個問題,你說的「服務和端點可以使用web.config中的命名行爲來共享」是什麼意思? (我只是習慣WCF :))。我知道服務和端點可以使用行爲進行「配置」,但我不確定您分享服務和端點的含義......?你的意思是行爲本身可以共享嗎? –
對不起,這是一個錯字。正如你建議我的意思是共享配置。 (大多數人不喜歡配置WCF爲什麼在任何地方重複使用都是一個好主意,Typo現在已經修復了。)我很高興學習你可以使用我的評論:) – faester
非常好,謝謝! –