Как использовать Ninject 2 в приложении ASP.NET MVC 3? - PullRequest
1 голос
/ 24 января 2011

Я искал везде, я не могу найти способ реализовать ninject в моем проекте. Я слышал о создании MvcApplication для NinjectHttpApplication. Но NinjectHttpApplication не найден, даже если я добавлю lib к ссылке. Я не могу найти Ninject.Web.Mvc. У кого-нибудь есть руководство, чтобы выполнить эту работу, все, что я хочу сделать, это иметь возможность привязать мой интерфейс из моего домена к существующей реализации.

Ответы [ 2 ]

3 голосов
/ 24 января 2011

Смотрите мой блог о расширении MVC3 здесь: http://www.planetgeek.ch/2010/11/13/official-ninject-mvc-extension-gets-support-for-mvc3/

Исходный код на github поставляется с полнофункциональным примером приложения: https://github.com/ninject/ninject.web.mvc

Двоичные файлы можно найти либона github: https://github.com/ninject/ninject.web.mvc/archives/master или на сервере сборки: http://teamcity.codebetter.com/project.html?projectId=project3&tab=projectOverview

3 голосов
/ 24 января 2011

http://weblogs.asp.net/shijuvarghese/archive/2010/04/30/dependency-injection-in-nerddinner-app-using-ninject.aspx

Похоже, большая часть этого делается через

Global.asax.cs
public class MvcApplication : NinjectHttpApplication

Заменить Application_Start на

protected override void OnApplicationStarted()
{
    AreaRegistration.RegisterAllAreas();
    RegisterRoutes(RouteTable.Routes);
    ViewEngines.Engines.Clear();
    ViewEngines.Engines.Add(new MobileCapableWebFormViewEngine());
    RegisterAllControllersIn(Assembly.GetExecutingAssembly());
}

Затем создайте свои модули Ninject и настройте ядро, все объясняется в посте блога, а исходный код доступен здесь: http://nerddinneraddons.codeplex.com/

Хотя приведенное выше относится к MVC 2, оно все равно должно применяться

...