public static IContainer Register() { var builder = new ContainerBuilder(); //Register dbcontext builder.Register <QnAEntities>(c => QnAContextFactory.CreateContext()).InstancePerLifetimeScope(); //Regiser services/component var serviceAsssembly = typeof(BaseService).Assembly; builder.RegisterAssemblyTypes(serviceAsssembly) .Where(t => t.Namespace.Contains("EMPower.QnA.Data.Implementations") || t.IsAssignableTo <IServices>()) .AsImplementedInterfaces() .InstancePerLifetimeScope(); builder.RegisterType <PushLatestQnAJob>().AsSelf().InstancePerLifetimeScope(); //Quartz builder.RegisterType <AutofacJobFactory>().As <IJobFactory>().InstancePerLifetimeScope(); builder.Register(x => new StdSchedulerFactory().GetScheduler()).As <IScheduler>().InstancePerLifetimeScope(); return(builder.Build()); }
public static void Register(HttpConfiguration config) { var builder = new ContainerBuilder(); //Register dbcontext builder.Register <QnAEntities>(c => QnAContextFactory.CreateContext()).InstancePerLifetimeScope(); //var webApiControllerAssembly = typeof(BaseController).Assembly; //builder.RegisterApiControllers(webApiControllerAssembly); //builder.RegisterWebApiFilterProvider(config); ////Register dbcontext //builder.Register<XchangingEntities>(c => XchangingContextFactory.CreateContext()); //builder.RegisterType<NonePilotStorageRepository>().As<IPilotStorageRepository>().InstancePerRequest(); var webApiControllerAssembly = typeof(QnAController).Assembly; builder.RegisterApiControllers(webApiControllerAssembly); //Regiser services/component var serviceAsssembly = typeof(BaseService).Assembly; builder.RegisterAssemblyTypes(serviceAsssembly) .Where(t => t.Namespace.Contains("EMPower.QnA.Data.Implementations") || t.IsAssignableTo <IServices>()) .AsImplementedInterfaces() .InstancePerLifetimeScope(); var container = builder.Build(); GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container); }