Ninject MVC3 и веб-формы. Я делаю это правильно? - PullRequest
2 голосов
/ 22 июня 2011

У меня новое приложение MVC3 с несколькими устаревшими страницами веб-форм. Я знаком с Ninject и MVC, но я хочу использовать Ninject и со страницами веб-форм. Я что-то взломал, но не уверен, что это правильный путь.

Я выставил ядро ​​Ninject следующим образом:

public static IKernel Kernel { get { return CreateKernel(); } }

private static IKernel CreateKernel()
{
    var kernel = new StandardKernel();
    RegisterServices(kernel);
    return kernel;
}

Затем я создал базовый класс для своих страниц веб-форм, который внедряет ядро:

public class NinjectBase : Page
{
    public IKernel Kernel { get; private set; }
    public NinjectBase() { Kernel = NinjectMVC3.Kernel; } 
    public void Page_Init() { Kernel.Inject(this); }
}

Кажется, это работает достаточно хорошо. Что-то не так с этим подходом? Есть ли другой способ, которым я должен идти об этом?

1 Ответ

2 голосов
/ 22 июня 2011

Ninject 2.4 будет поддерживать все веб-технологии (ASP.NET, MVC, WCF) на стороне.

Если вы еще не в производстве, идите и получите 2.3.0.x

Вам понадобятся Ninject, Ninject.Web, Ninject.Web.Common, Nnject.Web.MVC3

...