2013-04-15 146 views
0

This is my Solution Structure of Service & Domain Layer手冊WCF服務設計

首先請告訴我,這是解決方案的結構是好的,只要建築是關注? 我有XXXX。商業項目在中心。 XXXX。合同項目有其參考。 XXXX。服務項目參考合同和業務項目。

現在我想讓我的服務託管在靈活的環境中。這就是爲什麼我想在Service> Host文件夾中放置自定義託管邏輯的原因。該項目還將提供自定義實例提供工具,以便可以使用某些參數化構造函數創建我的服務類。 另外我需要有不同種類的端點,所以我也有一個綁定文件夾

這3個自定義的東西當前滿足我的要求。

現在請指導我一些示例代碼段用於綁定/主機/實例

回答

1

我不知道你是什麼意思由

我想在靈活的環境中託管我的服務

我希望把定製託管邏輯在SERVIC e>主機文件夾

使用的主機容器的類型取決於服務實現參考的項目類型(Web,控制檯,Windows服務等)。這不是您要捆綁到一個項目,您應該爲每個不同的服務實例都有不同的項目(或者甚至是不同的解決方案)。

這導致您的通用解決方案結構。通過將合同作爲項目放入您的解決方案中,您可以將合同組件構建(以及可能的部署)與解決方案的構建和部署耦合在一起。理想情況下,合同應該在他們自己的解決方案中,以便它們可以與服務實施分開進行構建和管理。如果在某個時候需要維護多個版本的合同,該怎麼辦?

我認爲你的方法來創建一個通用的服務,任何人都可以是任何人都是複雜的方式。您應該讓WCF爲您處理這類工作,至少爲您的每個服務實現創建一個不同的項目,並將綁定管理延遲到部署時間。

此外,除非您正在編寫自己的自定義綁定代碼,否則您將不需要用於綁定的文件夾。

綁定可以(也應該)在您配置端點時在配置中進行定義,並且在某種程度上,關於使用哪個傳輸綁定應該是管理或管理而不是發展關注的決定。

+0

感謝您分享您的觀點。 – Bijit

+0

這兩行你沒有得到的意思,我想建立一個託管框架,它將有最低限度的配置,並且能夠爲實際的託管環境提供一個環境。這可以是控制檯/自託管,或者Window Service或IIS/WAS。 現在你能告訴我什麼可以成爲我的案例的業務領域項目,合同項目和服務實施項目的理想解決方案結構。應該將3置於3種不同的解決方案? – Bijit

+0

我的觀點是你爲什麼在WCF爲你提供這個框架時構建一個主機框架?您可以通過了解您的需求預先提供最少的配置,並在部署服務時構建配置。 –