c# - Resolving or injecting dependency in global.asax using autofac -


i need execute one-time code on start of application in global.asax. i've got autofac , running numerous registrations problem can't figure out how resolve or inject dependency securityconfig.registeractivities() that's inside global.asax.

i tried manually resolving dependency myself in global.asax using autofac container threw exception "no scope tag matching 'autofacwebrequest' visible scope in instance requested."

how dependency class?

protected void application_start() {         var builder = new containerbuilder();         dependencyregistrar dr = new dependencyregistrar();         dr.register(builder);          new securityconfig().registeractivities(); // needs injecting or resolving of iservicemanager instance }  public class dependencyregistrar {     public virtual icontainer register(containerbuilder builder)     {         builder.registertype<servicemanager>().as<iservicemanager>().instanceperhttprequest();         builder.registertype<securityconfig>().asself().propertiesautowired().instanceperdependency();     } }  public class securityconfig {     public void registeractivities()     {         servicemanager.dosomething();     }      public iservicemanager servicemanager { get; set; } } 

this allowed me resolve dependencies finally.

using(var scope = container.beginlifetimescope("autofacwebrequest")) {     scope.resolve<securityconfig>().registeractivities(); } 

Comments

Popular posts from this blog

matlab - Deleting rows with specific rules -

jquery - How would i go about shortening this code? And to cancel the previous click on click of new section? -