我有一個.net 4.0 WCF服務,我正在嘗試安裝ninject。我爲ninject下載了WCF extension,並查看了TimeService示例。一切都看起來很簡單,但我看不出ninject如何正確地完成它的工作,因爲有一個無參數的構造函數手動注入依賴項。Ninject WCF擴展TimeService示例如何工作?
public TimeService()
: this(new SystemClock())
{
}
public TimeService(ISystemClock systemClock)
{
_systemClock = systemClock;
}
據我所知,此代碼將永遠不會使用ninject綁定。如果我不提供任何參數,第一個構造函數將調用第二個構造函數。當在測試中,我傳入我的模擬對象時,第二個構造函數將被調用。對於WCF和ninject,我都很新,所以如果我錯過任何明顯的東西,我會很抱歉!
任何人都可以解釋嗎?
感謝
謝謝,這是有道理的。然而,ninject結合不被調用的第二個構造和我測試這個使用另一個類實現ISystemClock。你使用過這個樣本嗎?它工作? – littlechris 2010-11-02 15:59:12
@littlechris:我剛剛下載它,並想出了這個問題。看到我編輯的答案。 – StriplingWarrior 2010-11-02 18:21:54
謝謝@StriplingWarrior! :) – littlechris 2010-11-03 09:17:43