c# - How do you resolve a Ninject dependency in the global file in ASP.NET? -


i using ninject , ninject.web assemblies web forms application. in global.asax file specify bindings so:

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

then in pages have make them inherit ninject.web.pagebase. can set properties on code behind pages , put [inject] attribute on it.

[inject] public ivendorbriefcontroller vendorbriefcontroller { get; set; } 

this works great. need dependency injection in global.asax file itself. need instance of ierrorlogentrycontroller in application_error event. how resolve , use specified binding abstract type?

protected void application_error(object sender, eventargs e) {     ierrorlogentrycontroller = ???; } 

simply same thing in global class

[inject] public ierrorlogentrycontroller errorlogentrycontroller { get; set; } 

ninjecthttpapplication injects after kernel created.


Comments

Popular posts from this blog

c# - how to write client side events functions for the combobox items -

exception - Python, pyPdf OCR error: pyPdf.utils.PdfReadError: EOF marker not found -