Я не уверен почему, но я не вижу этот статический класс нигде в пространстве имен Ninject.Web. @qes Я не уверен, что еще не проверял это. Хм, может быть, я бросил пистолет. Я хотел бы найти этот KernelContaine, р.

ользую сборки Ninject и Ninject.Web с приложением веб-форм. В файле global.asax я указываю привязки так:

public class Global : NinjectHttpApplication
{
    protected override IKernel CreateKernel()
    {
        IKernel kernel = new StandardKernel();

        // Vendor Briefs. 
        kernel.Bind<IVendorBriefRepository>().To<VendorBriefRepository>().InRequestScope();
        kernel.Bind<IVendorBriefController>().To<VendorBriefController>().InRequestScope();

        // Search Services. 
        kernel.Bind<ISearchServicesController>().To<SearchServicesController>().InRequestScope();
        kernel.Bind<ISearchServicesRepository>().To<SearchServicesRepository>().InRequestScope();

        // Error Logging
        kernel.Bind<IErrorLogEntryController>().To<ErrorLogEntryController>().InRequestScope();
        kernel.Bind<IErrorLogEntryRepository>().To<ErrorLogEntryRepository>().InRequestScope();


        return kernel;
    }
}

Тогда на моих страницах я просто должен заставить их наследовать отNinject.Web.PageBase, Затем я могу настроить свойства кода позади страниц и поместить[inject] атрибут над ним.

[inject]
public IVendorBriefController vendorBriefController { get; set; }

Это прекрасно работает. Но теперь мне нужно внести некоторые зависимости в сам файл Global.asax. Мне нужен экземплярIErrorLogEntryController в моемApplication_Error мероприятие. Как решить эту проблему и использовать указанную привязку для абстрактного типа?

protected void Application_Error(object sender, EventArgs e)
{
    IErrorLogEntryController = ???;
}

Ответы на вопрос(3)

Ваш ответ на вопрос