2011-06-09 120 views
7

我想繞過WCF,而依賴注入是讓我困惑的一點。WCF服務中的依賴注入

我的問題基本上是:WCF是否支持開箱即用的依賴注入,還是不得不依賴於某種外部框架?

如果有一種方法只使用WCF來做這件事,你能給我一個簡單例子的鏈接嗎?

+1

可能的重複[如何將值傳遞給我的wcf服務上的構造函數?](http://stackoverflow.com/questions/2454850/how-do-i-pass-values-to-the-constructor- on-my-wcf-service) – 2011-06-09 21:23:05

回答

7

看看這個blog post通過Jimmy Bogard關於將結構圖掛鉤到WCF集成點,讓他沒有構造函數的構造函數。我知道你正在尋找一個非DI框架,所以如果你使用Peter K的評論和他的回答的鏈接中提供的方法,並將你自己的DI容器與WCF的積分點IInstanceProviderIServiceBehavior合併爲由Jimmy描述,您應該爲不使用第三方DI框架的WCF提供DI解決方案。

這絕對不是5分鐘的練習,需要一些代碼,但希望這有助於。如果您有任何問題,請告知我,我會更新此回覆。祝你好運!

1

WCF沒有提到依賴注入本身。通常你需要使用像UnityStructureMapNinjectCastle Windsor這樣的框架來完成它。

這裏還有其他的消息about how to do it

+1

您不需要DI框架來執行依賴注入。他們可以派上用場,但是;-) – Steven 2011-06-09 19:43:15

+0

:-)確實。我正在閱讀[this](http://kenegozi.com/blog/2008/01/17/its-my-turn-to-build-an-ioc-container-in-15-minutes-and-33-行)和[this](http://ayende.com/blog/2886/building-an-ioc-container-in-15-lines-of-code)。它能有多難?!? :-) – 2011-06-09 19:45:35

+1

在構建一年後,我可以得出結論:它實際上非常簡單;-) – Steven 2011-06-09 19:58:51

1

我的工具包中支持Unity的WCF依賴注入 - http://neovolve.codeplex.com/releases/view/19004。包中的文檔顯示瞭如何連接它。作爲開源軟件,您可以對其進行修改,以利用任何您使用的IOC容器(如果它不是Unity)。