我正在使用ASP.NET MVC3和Ninject。我已經設置了標準的代碼實現中,設置了綁定,並增加了這樣一個內核的DependencyResolver「AppStart_NinjectMVC3.cs」:ASP.NET MVC - 在控制器外部使用Ninject綁定
public static void RegisterServices(IKernel kernel)
{
kernel.Bind<IUserRepository>().To<UserRepository>();
...
}
public static void Start() {
IKernel kernel = new StandardKernel();
RegisterServices(kernel);
DependencyResolver.SetResolver(new NinjectServiceLocator(kernel));
}
所有在我的控制器運作良好 - 依賴正在被解決罰款。
我想能夠使用Ninject和控制器外部以及MVC堆棧之外的這些綁定。例如,我有一堆常規的aspx頁面,我希望使用我的ninject內核,還有一些代碼掛在global.asax上。
我可以在這些其他地方重新使用我的Ninject內核,還是我還需要在Global.asax appstart中註冊一個內核?
啊,感謝您的信息,我會看一下這個。這是否與MVC定義的內核「一起工作」,以及如何從網頁獲取它的句柄? – 2011-03-28 15:42:57
您不需要訪問內核。它注入普通的網頁和控件。但你必須爲他們使用財產注入。 – 2011-03-28 16:06:45
非常感謝 - 我想我會等待2.4,然後從那裏抓取它,我可以等待這個。 – 2011-03-29 11:35:06