コード例 #1
0
        public static void Config()
        {
            var builder = new ContainerBuilder();

            // Register dependencies in controllers
            builder.RegisterControllers(typeof(MvcApplication).Assembly);

            // Register dependencies in filter attributes
            builder.RegisterFilterProvider();

            // Register dependencies in custom views
            builder.RegisterSource(new ViewRegistrationSource());

            // Get your HttpConfiguration.
            var config = GlobalConfiguration.Configuration;

            // Register your Web API controllers.
            builder.RegisterApiControllers(typeof(ReservationController).Assembly);

            // OPTIONAL: Register the Autofac filter provider.
            builder.RegisterWebApiFilterProvider(config);

            builder.RegisterModule(new ManagerModule());

            var container = builder.Build();
            var webApiResolver = new AutofacWebApiDependencyResolver(container);
            // Mechanism for setting the dependency resolver for Web API and MVC is different.
            // Web API uses GlobalConfiguration.Configuration.DependencyResolver
            GlobalConfiguration.Configuration.DependencyResolver = webApiResolver;

            var mvcResolver = new AutofacDependencyResolver(container);
            DependencyResolver.SetResolver(mvcResolver);
        }
コード例 #2
0
ファイル: IocConfig.cs プロジェクト: desflan/RiskAnalysis
        public static void Configure()
        {
            var assemblies = BuildManager.GetReferencedAssemblies().Cast<Assembly>().ToArray();
            var builder = new ContainerBuilder();

            builder.RegisterAssemblyTypes(assemblies)
                .Where(t => typeof(IStartable).IsAssignableFrom(t))
                .As<IStartable>()
                .SingleInstance();

            builder.RegisterAssemblyModules(assemblies);

            builder.RegisterControllers(Assembly.GetExecutingAssembly());
            builder.RegisterApiControllers(Assembly.GetExecutingAssembly());

            var container = builder.Build();

            // Set the dependency resolver for Web API.
            var webApiResolver = new AutofacWebApiDependencyResolver(container);
            GlobalConfiguration.Configuration.DependencyResolver = webApiResolver;

            // Set the dependency resolver for MVC.
            var mvcResolver = new AutofacDependencyResolver(container);
            DependencyResolver.SetResolver(mvcResolver);
        }
コード例 #3
0
        public virtual void Configure(IEngine engine, ContainerManager containerManager, EventBroker broker, SmartStoreConfig configuration)
        {
            //other dependencies
            containerManager.AddComponentInstance<SmartStoreConfig>(configuration, "sm.configuration");
            containerManager.AddComponentInstance<IEngine>(engine, "sm.engine");
            containerManager.AddComponentInstance<ContainerConfigurer>(this, "sm.containerConfigurer");

            //type finder
            containerManager.AddComponent<ITypeFinder, WebAppTypeFinder>("sm.typeFinder");

            //register dependencies provided by other assemblies
            var typeFinder = containerManager.Resolve<ITypeFinder>();
            containerManager.UpdateContainer(x =>
            {
                var drTypes = typeFinder.FindClassesOfType<IDependencyRegistrar>();
                var drInstances = new List<IDependencyRegistrar>();
                foreach (var drType in drTypes)
                    drInstances.Add((IDependencyRegistrar)Activator.CreateInstance(drType));
                //sort
                drInstances = drInstances.AsQueryable().OrderBy(t => t.Order).ToList();
                foreach (var dependencyRegistrar in drInstances)
                    dependencyRegistrar.Register(x, typeFinder);
            });

            // event broker
            containerManager.AddComponentInstance(broker);

			// AutofacDependencyResolver
			var scopeProvider = new AutofacLifetimeScopeProvider(containerManager.Container);
			var dependencyResolver = new AutofacDependencyResolver(containerManager.Container, scopeProvider);
			DependencyResolver.SetResolver(dependencyResolver);
        }
コード例 #4
0
ファイル: AutofacConfig.cs プロジェクト: VishnyakovD/ShopI
        public static void Register()
        {
            var builder = new ContainerBuilder();

            builder.RegisterModule(new LoggerModule());

            builder.RegisterModule(new ImagesPathModule());

            builder.RegisterModule(new RegisterModules());

            builder.RegisterModule(new DbModule(ConfigurationManager.ConnectionStrings["ConnectDB"].ConnectionString));

            builder.RegisterModule(new DataServiceModule());

            builder.RegisterControllers(Assembly.GetExecutingAssembly());
            //builder.RegisterApiControllers(Assembly.GetExecutingAssembly());

            var container = builder.Build();
            // MVC Resolver
            var autofacResolver = new AutofacDependencyResolver(container);
            DependencyResolver.SetResolver(autofacResolver);

            // Create the depenedency resolver.
            //var resolver = new AutofacWebApiDependencyResolver(container);

            // Configure Web API with the dependency resolver.
            //GlobalConfiguration.Configuration.DependencyResolver = resolver;
        }
コード例 #5
0
        private static void SetIocContainer()
        {
            //Implement Autofac

            var configuration = GlobalConfiguration.Configuration;
            var builder = new ContainerBuilder();

            // Register MVC controllers using assembly scanning.
            builder.RegisterControllers(Assembly.GetExecutingAssembly());

            // Register MVC controller and API controller dependencies per request.
            builder.RegisterType<UnitOfWork>().As<IUnitOfWork>().InstancePerDependency();
            builder.RegisterType<DatabaseFactory>().As<IDatabaseFactory>().InstancePerLifetimeScope();

            // Register service
            builder.RegisterAssemblyTypes(typeof(ProfileService).Assembly)
            .Where(t => t.Name.EndsWith("Service"))
            .AsImplementedInterfaces().InstancePerDependency();

            // Register repository
            builder.RegisterAssemblyTypes(typeof(ProfileRepository).Assembly)
            .Where(t => t.Name.EndsWith("Repository"))
            .AsImplementedInterfaces().InstancePerDependency();

            var container = builder.Build();

            //for MVC Controller Set the dependency resolver implementation.
            var resolverMvc = new AutofacDependencyResolver(container);
            System.Web.Mvc.DependencyResolver.SetResolver(resolverMvc);
        }
コード例 #6
0
 public static void RegisterTypes()
 {
     var builder = new ContainerBuilder();
     builder.RegisterType<VideoRepository>().As<IVideoRepository>().InstancePerLifetimeScope();
     builder.RegisterType<OrderRepository>().As<IOrderRepository>().InstancePerLifetimeScope();
     builder.RegisterType<UserRepository>().As<IUserRepository>();
     builder.RegisterType<MockPaymentProcessor>().As<IPaymentProcessor>().InstancePerLifetimeScope();
     builder.RegisterType<StoreController>()
                         .UsingConstructor(typeof(IVideoRepository), typeof(IUserRepository));
     builder.RegisterType<CartController>()
                         .UsingConstructor(typeof(IVideoRepository));
     builder.RegisterType<WishlistController>()
                         .UsingConstructor(typeof(IUserRepository), typeof(IVideoRepository));
     builder.RegisterType<OrderController>()
                         .UsingConstructor(typeof(IVideoRepository), typeof(IOrderRepository), typeof(IUserRepository), typeof(IPaymentProcessor));
     builder.RegisterType<HomeController>()
                         .UsingConstructor(typeof(IVideoRepository), typeof(IOrderRepository), typeof(IUserRepository));
     builder.RegisterType<VideosController>()
                         .UsingConstructor(typeof(IVideoRepository));
     builder.RegisterType<OrdersController>()
                         .UsingConstructor(typeof(IOrderRepository));
     builder.RegisterType<UsersController>()
                         .UsingConstructor(typeof(IUserRepository));
     builder.RegisterType<AccountController>()
                         .UsingConstructor(typeof(IUserRepository));
     var container = builder.Build();
     var resolver = new AutofacDependencyResolver(container);
     DependencyResolver.SetResolver(resolver);
 }
コード例 #7
0
ファイル: Global.asax.cs プロジェクト: GarthOrmsby/AgileR
        protected void Application_Start()
        {
            //GlobalHost.DependencyResolver.UseRedis("127.0.0.1", 6379, string.Empty, "AgileR");

            AreaRegistration.RegisterAllAreas();

            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            var builder = new ContainerBuilder();
            builder.RegisterModule<AutofacWebTypesModule>();
            builder.RegisterAssemblyModules(Assembly.GetExecutingAssembly());
            var container = builder.Build();

            var autofacDependencyResolver = new AutofacDependencyResolver(container);
            DependencyResolver.SetResolver(autofacDependencyResolver);
            var resolver = new AutofacWebApiDependencyResolver(container);
            GlobalConfiguration.Configuration.DependencyResolver = resolver;

            GlobalConfiguration.Configuration.IncludeErrorDetailPolicy =
                IncludeErrorDetailPolicy.Always;

            // Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type.
            // To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries.
            // For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712.
            //GlobalConfiguration.Configuration.EnableQuerySupport();

            // To disable tracing in your application, please comment out or remove the following line of code
            // For more information, refer to: http://www.asp.net/web-api
            GlobalConfiguration.Configuration.EnableSystemDiagnosticsTracing();
        }
コード例 #8
0
        public static void RegisterAutoFac()
        {
            var builder = new ContainerBuilder();

            // MVC
            builder.RegisterControllers(Assembly.GetExecutingAssembly());
            builder.RegisterAssemblyModules(Assembly.GetExecutingAssembly());
            builder.RegisterModelBinders(Assembly.GetExecutingAssembly());

            // WebApi
            builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly()).PropertiesAutowired();
            builder.RegisterModule<AutofacWebTypesModule>();

            // Register services
            AddRegistrations(builder);
            var container = builder.Build();

            // Set the dependency resolver for Web API.
            var webApiResolver = new AutofacWebApiDependencyResolver(container);
            GlobalConfiguration.Configuration.DependencyResolver = webApiResolver;

            // Set the dependency resolver for MVC.
            var mvcResolver = new AutofacDependencyResolver(container);
            DependencyResolver.SetResolver(mvcResolver);
        }
コード例 #9
0
 protected void BuildAndCreateTestDependencyResolver(ContainerBuilder builder)
 {
     var container = builder.Build();
     var lifetimeScopeProvider = new StubLifetimeScopeProvider(container);
     var resolver = new AutofacDependencyResolver(container, lifetimeScopeProvider);
     DependencyResolver.SetResolver(resolver);
 }
コード例 #10
0
        private static void SetIocContainer()
        {
            try
            {
                //Implement Autofac

                //var configuration = System.Web.Http.GlobalConfiguration.Configuration;
                var builder = new ContainerBuilder();

                // Register MVC controllers using assembly scanning.
                builder.RegisterControllers(Assembly.GetExecutingAssembly());

                // Register MVC controller and API controller dependencies per request.
                builder.Register(c => new AppDbEntities()).InstancePerLifetimeScope();
                builder.RegisterGeneric(typeof(Repository<>)).InstancePerLifetimeScope();

                var container = builder.Build();

                //for MVC Controller Set the dependency resolver implementation.
                var resolverMvc = new AutofacDependencyResolver(container);
                System.Web.Mvc.DependencyResolver.SetResolver(resolverMvc);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
コード例 #11
0
        public static void Configure(ContainerBuilder builder)
        {
            // builder.RegisterAssemblyTypes(typeof(ProductsServices).Assembly).AsImplementedInterfaces().InstancePerHttpRequest();

            builder.RegisterControllers(typeof(MvcApplication).Assembly)
                   .PropertiesAutowired();

            builder.RegisterAssemblyTypes(typeof(ContextAdaptor).Assembly)
                   .AsImplementedInterfaces().InstancePerHttpRequest();

            builder.RegisterType<ExportDataContext>()
                   .As<IDbContext>()
                   .InstancePerHttpRequest();

            builder.RegisterType<ContextAdaptor>()
                   .As<IObjectSetFactory, IObjectContext>()
                   .InstancePerHttpRequest();

            builder.RegisterType<UnitOfWork>()
                   .As<IUnitOfWork>()
                   .InstancePerHttpRequest();

            builder.RegisterGeneric(typeof(Repository<>))
                   .As(typeof(IRepository<>))
                   .InstancePerHttpRequest();

            var container = builder.Build();
            var dependencyResolver = new AutofacDependencyResolver(container);
            DependencyResolver.SetResolver(dependencyResolver);
        }
コード例 #12
0
        public void Init()
        {
            _users = new List<UserEntity>();
            for (var ndx = 0; ndx < 10; ++ndx)
            {
                var postfix = ndx.ToString();
                var user = new UserEntity
                {
                    UserEntityId = ndx + 1,
                    DateRegistered = ServerTime.Now,
                    UserName = "******" + postfix,
                    Email = String.Format("user.{0}@test.com", ndx)
                };

                _users.Add(user);
            }

            Mapper.CreateMap<UserEntity, User>()
                .ForMember(p => p.Id, opt => opt.MapFrom(src => src.UserEntityId))
                .IgnoreAllNonExisting();

            var builder = new ContainerBuilder();

            builder.RegisterType<QueryBuilder>().As<IQueryBuilder>();
            var entitiesRepo = new Repository<UserEntity>(_users);
            var usersRepo = new Repository<User>(_users.Select(p
                => p.MapTo<User>()));

            builder.RegisterInstance(entitiesRepo).As<IRepository<UserEntity>>().SingleInstance();
            builder.RegisterInstance(usersRepo).As<IRepository<User>>().SingleInstance();

            var container = builder.Build();
            var resolver = new AutofacDependencyResolver(container);
            DependencyResolver.SetResolver(resolver);
        }
コード例 #13
0
 public void SetUp()
 {
     var builder = MvcApplication.BuildIoC();
     var container = builder.Build();
     var lifetimeScopeProvider = new StubLifetimeScopeProvider(container);
     var resolver = new AutofacDependencyResolver(container, lifetimeScopeProvider);
     DependencyResolver.SetResolver(resolver);
 }
コード例 #14
0
        public void NestedLifetimeScopeIsCreated()
        {
            var container = new ContainerBuilder().Build();
            var lifetimeScopeProvider = new StubLifetimeScopeProvider(container);
            var resolver = new AutofacDependencyResolver(container, lifetimeScopeProvider);

            Assert.That(resolver.RequestLifetimeScope, Is.Not.Null);
        }
コード例 #15
0
 public AutoScopeContainer(AutofacMvc.AutofacDependencyResolver container)
 {
     if (container == null)
     {
         throw new ArgumentNullException("container");
     }
     this.container = container;
 }
コード例 #16
0
 protected AutofacScopeContainer(AutofacDependencyResolver container)
 {
     if (container == null)
     {
         throw new ArgumentNullException("container");
     }
     this.container = container;
 }
コード例 #17
0
        public static AutofacDependencyResolver CreateAutofacDependencyResolver(IAppBuilder app)
        {
            if (_autofacDependencyResolver != null)
                return _autofacDependencyResolver;

            _autofacDependencyResolver = new AutofacDependencyResolver(CreateContainer(app));

            return _autofacDependencyResolver;
        }
コード例 #18
0
        private void RegisterWorkerDependancyResolvers()
        {
            _requestLifetimeScopeProvider = new RequestLifetimeScopeProvider(_applicationContainer);

            var mvcResolver = new Autofac.Integration.Mvc.AutofacDependencyResolver(_applicationContainer, _requestLifetimeScopeProvider);

            _originalResolver = DependencyResolver.Current;
            DependencyResolver.SetResolver(mvcResolver);
        }
コード例 #19
0
 /// <summary>
 /// 重写以实现设置Mvc框架的DependencyResolver
 /// </summary>
 /// <param name="assemblies"></param>
 protected override void SetResolver(Assembly[] assemblies)
 {
     ContainerBuilder builder = new ContainerBuilder();
     builder.RegisterControllers(assemblies).AsSelf().PropertiesAutowired();
     builder.RegisterFilterProvider();
     builder.Update(Container);
     IDependencyResolver resolver = new AutofacDependencyResolver(Container);
     DependencyResolver.SetResolver(resolver);
 }
コード例 #20
0
        public static void InitializeIoc()
        {
            var builder = new ContainerBuilder();
            builder.RegisterControllers(Assembly.GetExecutingAssembly());
            builder.RegisterType<SiteContext>().As<SiteContext>().InstancePerLifetimeScope();

            IContainer container = builder.Build();
            var resolver = new AutofacDependencyResolver(container);
            DependencyResolver.SetResolver(resolver);
        }
コード例 #21
0
        private void ConfigureDependencies()
        {
            var containerBuilder = new ContainerBuilder();
            containerBuilder.RegisterControllers(Assembly.GetExecutingAssembly()).AsImplementedInterfaces().InstancePerRequest();
            IContainer container = containerBuilder.Build();

            IDependencyResolver dependencyResolver = new AutofacDependencyResolver(container);
            DependencyResolver.SetResolver(dependencyResolver);
            GlobalConfiguration.Configuration.DependencyResolver = new Infrastructure.AutofacDependencyResolver(container);
        }
コード例 #22
0
        public void CurrentPropertyExposesTheCorrectResolver()
        {
            var container = new ContainerBuilder().Build();
            var lifetimeScopeProvider = new StubLifetimeScopeProvider(container);
            var resolver = new AutofacDependencyResolver(container, lifetimeScopeProvider);

            DependencyResolver.SetResolver(resolver);

            Assert.That(AutofacDependencyResolver.Current, Is.EqualTo(DependencyResolver.Current));
        }
コード例 #23
0
ファイル: MvcAutofacIocBuilder.cs プロジェクト: liumeifu/OSky
 /// <summary>
 /// 构建服务并设置MVC平台的Resolver
 /// </summary>
 /// <param name="services">服务映射信息集合</param>
 /// <param name="assemblies">程序集集合</param>
 /// <returns>服务提供者</returns>
 protected override IServiceProvider BuildAndSetResolver(IServiceCollection services, Assembly[] assemblies)
 {
     ContainerBuilder builder = new ContainerBuilder();
     builder.RegisterControllers(assemblies).AsSelf().PropertiesAutowired();
     builder.RegisterFilterProvider();
     builder.Populate(services);
     IContainer container = builder.Build();
     IDependencyResolver resolver = new AutofacDependencyResolver(container);
     DependencyResolver.SetResolver(resolver);
     return resolver.GetService<IServiceProvider>();
 }
コード例 #24
0
ファイル: Global.asax.cs プロジェクト: jstadnicki/tbi
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            var container = TbiAutofacResolver.Initialize();

            var autofacDependencyResolver = new AutofacDependencyResolver(container);
            DependencyResolver.SetResolver(autofacDependencyResolver);

            TbiMapper.Initialize();
        }
コード例 #25
0
ファイル: Global.asax.cs プロジェクト: eeroom/zl.gutop
        protected void Application_Start(object sender, EventArgs e)
        {
            System.Web.Mvc.AreaRegistration.RegisterAllAreas();
            //mvc相关
            System.Web.Routing.RouteTable.Routes.MapRoute("l2",
                                                          "{controller}/{action}",
                                                          defaults: new { controller = "Home", action = "Index" });

            //ioc和aop相关
            Type flagIScoped    = typeof(IScoped);
            Type flagISingleton = typeof(ISingleton);
            Type flagITransient = typeof(ITransient);
            //bin目录下的所有的类型
            var lstType = System.Web.Compilation.BuildManager.GetReferencedAssemblies()
                          .Cast <System.Reflection.Assembly>()
                          .SelectMany(x => x.GetTypes())
                          .ToList();
            var lstTypeIScoped = lstType.Where(x => flagIScoped.IsAssignableFrom(x))
                                 .Where(x => x != flagIScoped).ToArray();
            var lstTypeISingleton = lstType.Where(x => flagISingleton.IsAssignableFrom(x))
                                    .Where(x => x != flagISingleton).ToArray();
            var lstTypeITransient = lstType.Where(x => flagITransient.IsAssignableFrom(x))
                                    .Where(x => x != flagITransient).ToArray();

            var builder = new Autofac.ContainerBuilder();

            builder.RegisterTypes(lstTypeIScoped).AsSelf().AsImplementedInterfaces()
            .PropertiesAutowired(PropertyWiringOptions.AllowCircularDependencies)
            .InstancePerRequest();
            builder.RegisterTypes(lstTypeISingleton).AsSelf().AsImplementedInterfaces()
            .PropertiesAutowired(PropertyWiringOptions.AllowCircularDependencies)
            .SingleInstance();
            builder.RegisterTypes(lstTypeITransient).AsSelf().AsImplementedInterfaces()
            .PropertiesAutowired(PropertyWiringOptions.AllowCircularDependencies)
            .InstancePerDependency();

            builder.RegisterGeneric(typeof(Azeroth.Util.Log <>))
            .As(typeof(Azeroth.Util.ILog <>))
            .SingleInstance();

            builder.RegisterControllers(System.Reflection.Assembly.GetExecutingAssembly())
            .AsSelf()
            .PropertiesAutowired(PropertyWiringOptions.AllowCircularDependencies)
            .InstancePerRequest()
            .EnableClassInterceptors()
            .InterceptedBy(typeof(App_Start.InterceptedHandler));
            var container = builder.Build();
            var resolver  = new Autofac.Integration.Mvc.AutofacDependencyResolver(container);

            System.Web.Mvc.DependencyResolver.SetResolver(resolver);
            //日志信息相关的处理
            this.LogConfigure(new Bll.Log(new Model.Entity.DbContext()));
        }
コード例 #26
0
        public static void Register()
        {
            var builder = new ContainerBuilder();
            builder.RegisterControllers(typeof(MvcApplication).Assembly);

            //Caching service
            builder.RegisterType<InMemoryCache>().As<ICacheService>().SingleInstance();
            
            var container = builder.Build();
            var mvcResolver = new AutofacDependencyResolver(container);
            DependencyResolver.SetResolver(mvcResolver);
        }
コード例 #27
0
        public static void RegisterDependencyInjection()
        {
            //This sets up the Autofac container for all levels in the program
            var container = SetupDependencies();

            // Set the dependency resolver for MVC.
            var mvcResolver = new AutofacDependencyResolver(container);
            DependencyResolver.SetResolver(mvcResolver);

            //This allows interfaces etc to be provided as parameters to action methods
            ModelBinders.Binders.DefaultBinder = new DiModelBinder();
        }
コード例 #28
0
ファイル: Global.asax.cs プロジェクト: Chnxo/NextProject
        private void RegisterTypeResolver()
        {
            var builder = new ContainerBuilder();
            var assembly = Assembly.GetExecutingAssembly();
            builder.RegisterControllers(assembly);
            builder.RegisterType<Bus>().As<IBus>().InstancePerDependency();
            builder.RegisterAssemblyTypes(assembly).AsClosedTypesOf(typeof(Command<>)).InstancePerHttpRequest();

            var container = builder.Build();
            var resolver = new AutofacDependencyResolver(container);
            DependencyResolver.SetResolver(resolver);
        }
コード例 #29
0
        public static void Register()
        {
            var builder = new ContainerBuilder();

            builder.RegisterControllers(Assembly.GetExecutingAssembly());
            builder.RegisterModelBinders(Assembly.GetExecutingAssembly());
            builder.RegisterModelBinderProvider();

            builder.RegisterApiControllers(Assembly.GetExecutingAssembly());

            builder.RegisterType<NietzscheBiographyDbContext>().InstancePerHttpRequest();

            // Standard repositories
            builder.Register(c => c.Resolve<NietzscheBiographyDbContext>().Participants)
                .As<IQueryable<Participant>>().InstancePerDependency();

            builder.Register(c => c.Resolve<NietzscheBiographyDbContext>().Events)
                .As<IQueryable<Event>>().InstancePerDependency();

            builder.Register(c => c.Resolve<NietzscheBiographyDbContext>().EventTypes)
                .As<IQueryable<EventType>>().InstancePerDependency();

            builder.Register(c => c.Resolve<NietzscheBiographyDbContext>().Locations)
                .As<IQueryable<Location>>().InstancePerDependency();

            builder.Register(c => c.Resolve<NietzscheBiographyDbContext>().MediaItems)
                .As<IQueryable<MediaItem>>().InstancePerDependency();

            // Services
            builder.RegisterType<EnglishPluralizationService>()
                .As<IPluralizationService>();

            builder.RegisterType<SentenceTemplateFileRepository>()
                .As<ISentenceTemplateRepository>()
                .WithParameter(
                    "templatesFilePath",
                    HttpRuntime.AppDomainAppPath.TrimEnd('/', '\\') + "/App_Data/EventTitleTemplates.xml")
                .SingleInstance();

            builder.RegisterType<SentenceSynthesizer>()
                .As<ISentenceSynthesizer>().SingleInstance();

            var container = builder.Build();

            // Set the dependency resolver for MVC.
            var mvcResolver = new AutofacDependencyResolver(container);
            DependencyResolver.SetResolver(mvcResolver);

            // Set the dependency resolver for Web API.
            var webApiResolver = new AutofacWebApiDependencyResolver(container);
            GlobalConfiguration.Configuration.DependencyResolver = webApiResolver;
        }
コード例 #30
0
ファイル: AutofacConfig.cs プロジェクト: jbijlsma/Proverb
        public static IContainer RegisterAndBuild()
        {
            var builder = new ContainerBuilder();

            // DbContext
            builder.RegisterType<ProverbContext>().As<ProverbContext>().InstancePerLifetimeScope();

            // Queries / Commands
            builder.RegisterAssemblyTypes(Assembly.Load("Proverb.Data.CommandQuery"))
                .Where(t => t.Name.EndsWith("Query") || t.Name.EndsWith("Command"))
                .AsImplementedInterfaces()
                .InstancePerLifetimeScope();

            // Domain Services
            builder.RegisterAssemblyTypes(Assembly.Load("Proverb.Services"))
                .Where(t => t.Name.EndsWith("Service"))
                .AsImplementedInterfaces()
                .InstancePerLifetimeScope();

            // Web Project
            var assembly = Assembly.GetExecutingAssembly();
            builder.RegisterControllers(assembly).InstancePerLifetimeScope();
            builder.RegisterApiControllers(assembly).InstancePerLifetimeScope();

            // Helpers
            builder.RegisterType<AppConfigHelper>().As<IAppConfigHelper>().InstancePerLifetimeScope();
            builder.RegisterType<AppCache>().As<IAppCache>().InstancePerLifetimeScope();
            builder.RegisterType<FileHelper>().As<IFileHelper>().InstancePerLifetimeScope();
            //builder.RegisterType<SessionHelper>().As<ISessionHelper>().InstancePerLifetimeScope();
            builder.RegisterType<UserHelper>().As<IUserHelper>().InstancePerLifetimeScope();

            // User
            builder.Register(c => HttpContext.Current.User).As<IPrincipal>().InstancePerLifetimeScope();

            // Logger
            //builder.Register(c => LoggerHelper.GetLogger()).As<ILog>().InstancePerLifetimeScope();
            builder.RegisterModule<LoggingModule>();

            builder.RegisterFilterProvider();

            var container = builder.Build();

            // Set the dependency resolver for Web API.
            var webApiResolver = new AutofacWebApiDependencyResolver(container);
            System.Web.Http.GlobalConfiguration.Configuration.DependencyResolver = webApiResolver;

            // Set the dependency resolver for MVC.
            var mvcResolver = new AutofacDependencyResolver(container);
            System.Web.Mvc.DependencyResolver.SetResolver(mvcResolver);

            return container;
        }
コード例 #31
0
        public static void Initialize()
        {
            var builder = new ContainerBuilder();
            var container = RegisterServices(builder);

            // Set the dependency resolver for Web API.
            var webApiResolver = new AutofacWebApiDependencyResolver(container);
            GlobalConfiguration.Configuration.DependencyResolver = webApiResolver;

            // Set the dependency resolver for MVC.
            var mvcResolver = new AutofacDependencyResolver(container);
            DependencyResolver.SetResolver(mvcResolver);
        }
コード例 #32
0
ファイル: Global.asax.cs プロジェクト: Goblinftw/Upteka
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            RouteConfig.RegisterRoutes(RouteTable.Routes);

            var container = AutofacSetup.Setup();

            AutomapperInit.Load();

            var mvcResolver = new AutofacDependencyResolver(container);
            DependencyResolver.SetResolver(mvcResolver);

        }
コード例 #33
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            #region Dependency injection Autofac
            _container = IocConfig.RegisterDependencies();

            var mvcResolver = new AutofacDependencyResolver(_container);
            DependencyResolver.SetResolver(mvcResolver);
            #endregion
        }
コード例 #34
0
        private void RegisterDependancyResolvers(HttpConfiguration config)
        {
            if (WebApplicationConfiguration.RegisterWebApiDependancyInjection && config != null)
            {
                var webApiResolver = new AutofacWebApiDependencyResolver(_applicationContainer);

                config.DependencyResolver = webApiResolver;
            }

            if (WebApplicationConfiguration.RegisterMvcDependancyInjection)
            {
                var mvcResolver = new Autofac.Integration.Mvc.AutofacDependencyResolver(_applicationContainer);

                DependencyResolver.SetResolver(mvcResolver);
            }
        }
コード例 #35
0
        private static void RegisterMvc(Assembly[] assemblies)
        {
            var builder = CreateContainerBuilder();

            builder.RegisterControllers(assemblies);
            builder.RegisterModelBinders(assemblies);
            builder.RegisterModelBinderProvider();
            builder.RegisterFilterProvider();

            Register <CookieTempDataProvider>(builder);

            var container = builder.Build();
            var resolver  = new MvcResolver(container);

            DependencyResolver.SetResolver(resolver);
        }
コード例 #36
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            //1.初始化容器,注册组件
            RayContainer.Init(builder =>
            {
                new Startup().ConfigureServices(builder);
                return(builder);
            });
            //AutoFac解析器
            System.Web.Mvc.IDependencyResolver autoFacResolver = new Autofac.Integration.Mvc.AutofacDependencyResolver(RayContainer.AutofacRootScope);
            //将AutoFac解析器设置为系统DI解析器
            DependencyResolver.SetResolver(autoFacResolver);
        }
コード例 #37
0
ファイル: Global.asax.cs プロジェクト: SmallDev/OfferProject
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            var builder = new ContainerBuilder();

            builder.RegisterType <Config>().As <IDbConfig>().InstancePerDependency();
            builder.RegisterType <UserFacade>().InstancePerDependency();
            builder.RegisterType <OfferFacade>().InstancePerDependency();
            builder.RegisterType <DataManagerFactory>().As <IDataManagerFactory>().InstancePerDependency();
            builder.RegisterType <SHA1CryptoServiceProvider>().As <HashAlgorithm>().InstancePerDependency();
            builder.RegisterControllers(typeof(MvcApplication).Assembly).InstancePerDependency();
            IContainer ioC = builder.Build();
            var        res = new Autofac.Integration.Mvc.AutofacDependencyResolver(ioC);

            DependencyResolver.SetResolver(res);
        }
コード例 #38
0
 public AutoFacContainer(AutofacMvc.AutofacDependencyResolver container)
     : base(container)
 {
 }