0
我有一個非常有層次感MVC3應用程序(域,服務,網絡,基礎設施獨立的項目等)Ninject DI - 放置在一個MVC3應用
我明白控制器構造函數注入的概念,結合其MVC3和Ninject一起工作得很好。但是,如何將注入層分離爲網層?
例如,我有一個依賴Repository接口的服務。該服務從控制器調用,服務本身將由構造器注入正確注入,但存儲庫又如何?我如何注入?
public class MyService
{
protected virtual IPersonRepository PersonRepository {get; set;}
public virtual void UseRepository()
{
PersonRepository.FindEveryoneInTheWorldButDontReturnThem();
}
}
哪裏/如何在上面的示例中注入存儲庫?
Ninject 3.0 Ninject.Web.MVC 3.0
是不是還有一個[Inject]屬性可以使用? – contactmatt
我問的原因是因爲我的存儲庫中有一個依賴關係,必須解決。但是,要求所有存儲庫使用構造器注入來進行依賴關係似乎有點不必要。 – contactmatt
閱讀https://github.com/ninject/ninject/wiki/Injection-Patterns。 「如果沒有構造函數具有[Inject]屬性,Ninject會選擇Ninject瞭解如何解析的參數最多的參數,如果沒有定義構造函數,Ninject會選擇默認的無參數構造函數(假設有一個)。 – devdigital