我瞭解Ninject的一些功能,並已將其用於IoC。MVC3項目中標準ninject和ninject.web.mvc之間的區別?
當我在VS2010中使用NuGet添加對Ninject項目的引用時,我會看到列表中的其他Ninject擴展。具體來說Ninject.MVC3。另外在Ninject網站的擴展(http://www.ninject.org/extensions.html)我看到Ninject.Web.Mvc。
如果我正在創建MVC3應用程序,我是否需要使用Ninject的這個擴展?我使用類/接口的IoC基本使用Ninject是否需要超出標準庫的任何內容?
MVC3項目中Ninject和Ninject.MVC3/Ninject.Web.Mvc有什麼區別?
你是說ninject.web.mvc允許ninject與MVC應用程序的MVC特定類/接口進行交互,而標準ninject不支持它們嗎? 我可能需要更多地瞭解Ninject在MVC應用程序中處理控制器的各種原因和示例。 – seangwright
不是。關鍵是'ninject.web.mvc'提供了擴展控制器工廠,它能夠在控制器(使用'ninject.core')中注入依賴關係(根據組合根中定義的綁定 - 通常是global.asax)。所以你不需要以某種方式通過你的應用程序傳遞一個ninject'kernel'實例 - 它可以用服務定位器模式聞到 - 並且可以享受(構造函數)依賴注入的好處。 – mipe34