Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        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);
        }