Я пытаюсь заставить Ninject работать с приложением WebForms, в котором уже есть пользовательский объект PageBase. Но я не знаю наверняка, смогу ли я использовать объект PageBase Ninject вместе с другим, пользовательским PageBase. Я долго искал, чтобы посмотреть, смогу ли я найти ответ на эту проблему или узнать, как это сделать, но все, что я нашел, это:
Я взломал альтернативу, используя общий базовый класс, который
происходит от С. Это выглядит примерно так
public abstract class PageBase : Page
{
public IKernel Kernel { get; private set; }
public PageBase() { Kernel = ...; }
public void Page_Init() { Kernel.Inject(this); }
}
Это позволит вам внедрять свойства и методы на любые страницы, которые
наследовать от PageBase. Обратите внимание, что конструктор неполон -
вам нужно будет получить доступ к ядру статическим способом. Вам следует
быть в состоянии прочитать это из HttpApplication как-то.
(источник: http://groups.google.com/group/ninject/browse_thread/thread/317fc48387399aa6, связан с Нет с веб-формами ASP.Net и MVC ):
Похоже, это может сработать для меня, потому что кажется, что я мог бы применить этот код к существующей пользовательской PageBase. Но я застрял в той части, в которой автор говорит: «... конструктор неполон - вам придется обращаться к ядру статическим способом».
Кто-нибудь знает, что означает это предложение и как можно получить статический доступ к ядру Ninject?