2011-06-10 72 views
2

我即將開始建設WCF的Web服務,我想結構,這種方式的解決方案,將是:如何構建WCF Web服務解決方案,以便以不同方式進行開發和託管?

  1. 易於開發 - 我想,這樣我的團隊的開發人員可以只獲取源代碼,構建和啓動服務,最好的辦法是有可能將它作爲控制檯應用程序啓動?

  2. 稍後在IIS,WAS或Windows服務中輕鬆託管此服務。

我在想,我這個項目:

  • 共享(用於Web服務接口)
  • WebService的(實際實現的Web服務和SVC文件)
  • ConsoleHost(託管web服務在控制檯應用程序)

這種方法會有什麼問題嗎? 什麼可能是我應該提前考慮的事情? 也許有更好的結構?

我將不勝感激任何洞察力和資源的鏈接,可以幫助我選擇正確的結構。

p.s. Web服務本身很簡單,但這種方法將被重用於更多的服務。

回答

6

我傾向於將所有接口定義放置在一個程序集/項目中,另一個程序集項目中的所有服務實現以及主機環境,無論是控制檯,IIS(即.svc文件)還是Windows服務或其他,在一個單獨的大會。

+0

不同的宿主環境可以在一個程序集中?或者你正在爲每個託管環境分別組裝? – 2011-06-10 09:56:16

+0

此方法的+1 – DaveRead 2011-06-10 09:58:31

+0

@qrow - 每個託管環境的獨立程序集。通常,這些程序集沒有太多內容 - 用於IIS/WAS託管的.svc和web.config,用於自託管的控制檯應用程序。這樣你就不會混淆對每個託管環境的關注。 – Xhalent 2011-06-10 10:09:53

0

有了這些信息,我說這個結構看起來不錯。

您也可以考慮創建一個單獨的ServiceModel程序集來存儲您的所有自定義行爲和WCF。然後他們可以重新用於其他項目

相關問題