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); }
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); }
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); }
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; }
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); }
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); }
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(); }
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); }
protected void BuildAndCreateTestDependencyResolver(ContainerBuilder builder) { var container = builder.Build(); var lifetimeScopeProvider = new StubLifetimeScopeProvider(container); var resolver = new AutofacDependencyResolver(container, lifetimeScopeProvider); DependencyResolver.SetResolver(resolver); }
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; } }
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); }
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); }
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); }
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); }
public AutoScopeContainer(AutofacMvc.AutofacDependencyResolver container) { if (container == null) { throw new ArgumentNullException("container"); } this.container = container; }
protected AutofacScopeContainer(AutofacDependencyResolver container) { if (container == null) { throw new ArgumentNullException("container"); } this.container = container; }
public static AutofacDependencyResolver CreateAutofacDependencyResolver(IAppBuilder app) { if (_autofacDependencyResolver != null) return _autofacDependencyResolver; _autofacDependencyResolver = new AutofacDependencyResolver(CreateContainer(app)); return _autofacDependencyResolver; }
private void RegisterWorkerDependancyResolvers() { _requestLifetimeScopeProvider = new RequestLifetimeScopeProvider(_applicationContainer); var mvcResolver = new Autofac.Integration.Mvc.AutofacDependencyResolver(_applicationContainer, _requestLifetimeScopeProvider); _originalResolver = DependencyResolver.Current; DependencyResolver.SetResolver(mvcResolver); }
/// <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); }
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); }
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); }
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)); }
/// <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>(); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RouteConfig.RegisterRoutes(RouteTable.Routes); var container = TbiAutofacResolver.Initialize(); var autofacDependencyResolver = new AutofacDependencyResolver(container); DependencyResolver.SetResolver(autofacDependencyResolver); TbiMapper.Initialize(); }
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())); }
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); }
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(); }
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); }
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; }
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; }
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); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RouteConfig.RegisterRoutes(RouteTable.Routes); var container = AutofacSetup.Setup(); AutomapperInit.Load(); var mvcResolver = new AutofacDependencyResolver(container); DependencyResolver.SetResolver(mvcResolver); }
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 }
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); } }
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); }
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); }
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); }
public AutoFacContainer(AutofacMvc.AutofacDependencyResolver container) : base(container) { }