¿Cómo se resuelve una dependencia de Ninject en el archivo global en ASP.NET

Estoy usando los ensamblados Ninject y Ninject.Web con una aplicación de formularios web. En el archivo global.asax especifico los enlaces de esta manera:

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;
    }
}

Entonces en mis páginas simplemente tengo que hacer que hereden deNinject.Web.PageBase. Entonces puedo configurar propiedades en el código detrás de las páginas y poner el[inject] atributo sobre él.

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

Esto funciona muy bien. Pero ahora necesito hacer una inyección de dependencia en el archivo Global.asax. Necesito una instancia deIErrorLogEntryController en miApplication_Error evento. ¿Cómo resuelvo esto y utilizo mi enlace especificado para el tipo abstracto?

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

Respuestas a la pregunta(3)

Su respuesta a la pregunta