3
如何在ASP.NET MVC 3中使用Ninject手動實例化對象?有些事情是如此如何使用Ninject for MVC手動實例化對象3
"NinjectObject".Resolve<IMyService>();
謝謝&問候
如何在ASP.NET MVC 3中使用Ninject手動實例化對象?有些事情是如此如何使用Ninject for MVC手動實例化對象3
"NinjectObject".Resolve<IMyService>();
謝謝&問候
這是更好地注入依賴,而不是解決這些問題的。服務定位器是一種反模式。你可以例如使用以下內容:
IMyService myService = DependencyResolver.Current.GetService<IMyService>();
但請不要使用它。這是一種反模式。
依賴注入是首選的方法。您應該讓需要此依賴項的類的構造函數採取IMyService
而不是讓類獲取此依賴項。
這就是我正在做的。我正在創建一個基於Ninject的自定義DependencyResolver,所以我註冊了Ninject的所有接口,但在自定義的DependencyResolver中,我需要使用Ninject實例化接口,這就是我所需要的。 – Bill
猜猜我錯過了這裏的東西,Ninject註冊自己作爲一個自定義的DependencyResolver?我看到一個基於MSFT Unity的自定義DependencyResolver示例,其中代碼需要解析自定義DR中的實例。 – Bill
嗨Darin,我遇到了實現WebActivator的Start方法的情況,但是我需要某個接口的實例,但是實現WebActivator的類是Static並且無法訪問該接口的實例,那麼最好的方法是什麼這樣做?謝謝 – Bill