我的團隊旨在執行我們的REST API WCF系統的重構,因爲當前體系結構不足。我們希望將現有的WCF服務劃分爲代表應用程序實際業務環境的模塊。 據我所知,一個單一的服務(意味着一個單一的.svc文件)只能有一個契約接口的實現 - 可以有多個契約,但它們必須全部由同一個類來實現。WCF服務 - 多個合同執行
重構背後的想法是將現有的WCF分成負責特定業務上下文的功能塊(模塊),並將它們中的每一個作爲不是WCF服務的普通.dll在單獨項目中實現。它們將全部「鏈接」在一個「核心」WCF服務中 - 最有可能在app.config中定義或由DI容器注入爲普通依賴項。因此,每個項目都將包含一個契約接口(具有所有WCF裝飾屬性)及其實現應用於特定模塊。
不幸的是,這個想法不會工作,因爲第一段描述的問題 - 每個服務的一個實現。將實現創建爲部分類的想法將不起作用 - 模塊必須是單獨的項目 - 部分不會工作。對於evry模塊而言,單獨的WCF服務也不是一種可行的方式 - 對於FE來說,變更需要透明化,而且我們有這樣的服務,這意味着幾個現有的服務x 5-6上下文 - 沒辦法。
有沒有人有這種方法的WCF經驗?順便說一句,用別的替換WCF是一個問題。
Regards
謝謝。但是這個想法是核心服務對模塊的合同和實施一無所知 – user1658223