Exemple #1
0
        public override void PreInitialize <TTenantId, TUserId>()
        {
            IocManager.AddConventionalRegistrar(new BasicConventionalRegistrar());

            ValidationInterceptorRegistrar.Initialize(IocManager);

            //TODO: Consider to change order of Uow and Auth interceptors..?
            UnitOfWorkRegistrar.Initialize <TTenantId, TUserId>(IocManager);
            AuthorizationInterceptorRegistrar <TTenantId, TUserId> .Initialize(IocManager);

            _auditingInterceptorRegistrar = new AuditingInterceptorRegistrar(IocManager.Resolve <IAuditingConfiguration>(), IocManager);
            _auditingInterceptorRegistrar.Initialize <TTenantId, TUserId>();

            Configuration.Auditing.Selectors.Add(
                new NamedTypeSelector(
                    "Abp.ApplicationServices",
                    type => typeof(IApplicationService).IsAssignableFrom(type)
                    )
                );

            Configuration.Localization.Sources.Add(
                new DictionaryBasedLocalizationSource(
                    AbpConsts.LocalizationSourceName,
                    new XmlEmbeddedFileLocalizationDictionaryProvider(
                        Assembly.GetExecutingAssembly(), "Abp.Localization.Sources.AbpXmlSource"
                        )));

            Configuration.Settings.Providers.Add <EmailSettingProvider>();

            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.SoftDelete, true);
            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.MustHaveTenant, true);
            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.MayHaveTenant, true);
        }
Exemple #2
0
        public override void PreInitialize()
        {
            IocManager.AddConventionalRegistrar(new BasicConventionalRegistrar());

            ValidationInterceptorRegistrar.Initialize(IocManager);

            //TODO: Consider to change order of Uow and Auth interceptors..?
            UnitOfWorkRegistrar.Initialize(IocManager);
            AuthorizationInterceptorRegistrar.Initialize(IocManager);

            _auditingInterceptorRegistrar = new AuditingInterceptorRegistrar(IocManager.Resolve <IAuditingConfiguration>(), IocManager);
            _auditingInterceptorRegistrar.Initialize();

            Configuration.Auditing.Selectors.Add(
                new NamedTypeSelector(
                    "Abp.ApplicationServices",
                    type => typeof(IApplicationService).IsAssignableFrom(type)
                    )
                );

            Configuration.Settings.Providers.Add <EmailSettingProvider>();

            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.SoftDelete, true);
            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.MustHaveTenant, true);
            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.MayHaveTenant, true);
        }
 /// <summary>
 /// 注册拦截器
 /// </summary>
 private void AddInterceptorRegistrars()
 {
     //ValidationInterceptorRegistrar.Initialize(IocManager);
     //AuditingInterceptorRegistrar.Initialize(IocManager);
     UnitOfWorkRegistrar.Initialize(IocManager);
     //AuthorizationInterceptorRegistrar.Initialize(IocManager);
 }
Exemple #4
0
 public override void PreInitialize()
 {
     IocManager.AddConventionalRegistrar(new BasicConventionalRegistrar());
     CacheRegistrar.Initialize(IocManager);
     UnitOfWorkRegistrar.Initialize(IocManager);
     Configuration.UnitOfWork.RegisterFilter(DataFilters.SoftDelete, true);
 }
Exemple #5
0
 private void InitializeInterceptors()
 {
     ValidationInterceptorRegistrar.Initialize(this.IocManager);
     AuditingInterceptorRegistrar.Initialize(this.IocManager);
     UnitOfWorkRegistrar.Initialize(this.IocManager);
     AuthorizationInterceptorRegistrar.Initialize(this.IocManager);
 }
 public virtual void Initialize()
 {
     IocManager.IocContainer.Install(new OwnCoreInstaller());
     //领域事件的注册必须在其他的注册之前,这样才能够扫描所有的注册的类,并找到实现的IEventHandler的事件进行注册
     IocManager.IocContainer.Install(new EventBusInstaller(IocManager));
     UnitOfWorkRegistrar.Initialize(IocManager);
     ValidationInterceptorRegistrar.Initialize(IocManager);
     if (ConventionalRegistrarConfig.RegistrarForInterface)
     {
         IocManager.AddConventionalRegistrar(new BasicConventionalRegistrar());
     }
     if (ConventionalRegistrarConfig.Assembly == null)
     {
         var assemblies = ConventionalRegistrarConfig.IsWebApp ? BuildManager.GetReferencedAssemblies().Cast <Assembly>() : AppDomain.CurrentDomain.GetAssemblies();
         assemblies = FilterSystemAssembly(assemblies);
         foreach (var assemblie in assemblies)
         {
             IocManager.RegisterAssemblyByConvention(assemblie);
         }
     }
     else
     {
         IocManager.RegisterAssemblyByConvention(ConventionalRegistrarConfig.Assembly);
     }
 }
        public override void PreInitialize()
        {
            IocManager.AddConventionalRegistrar(new BasicConventionalRegistrar());

            ValidationInterceptorRegistrar.Initialize(IocManager);
            FeatureInterceptorRegistrar.Initialize(IocManager);
            AuditingInterceptorRegistrar.Initialize(IocManager);
            UnitOfWorkRegistrar.Initialize(IocManager);
            AuthorizationInterceptorRegistrar.Initialize(IocManager);

            Configuration.Auditing.Selectors.Add(
                new NamedTypeSelector(
                    "Abp.ApplicationServices",
                    type => typeof(IApplicationService).IsAssignableFrom(type)
                    )
                );

            Configuration.Localization.Sources.Add(
                new DictionaryBasedLocalizationSource(
                    AbpConsts.LocalizationSourceName,
                    new XmlEmbeddedFileLocalizationDictionaryProvider(
                        Assembly.GetExecutingAssembly(), "Abp.Localization.Sources.AbpXmlSource"
                        )));

            Configuration.Settings.Providers.Add <LocalizationSettingProvider>();
            Configuration.Settings.Providers.Add <EmailSettingProvider>();
            Configuration.Settings.Providers.Add <NotificationSettingProvider>();
            Configuration.Settings.Providers.Add <TimingSettingProvider>();

            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.SoftDelete, true);
            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.MustHaveTenant, true);
            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.MayHaveTenant, true);

            ConfigureCaches();
        }
Exemple #8
0
 public override void PreInitialize()
 {
     IocManager.AddConventionalRegistrar(new BasicConventionalRegistrar());
     UnitOfWorkRegistrar.Initialize(IocManager);
     ApplicationServiceInterceptorRegistrar.Initialize(IocManager);
     Configuration.Settings.Providers.Add <EmailSettingProvider>();
 }
        private void AddInterceptorRegistrars(
            AbpBootstrapperInterceptorOptions options)
        {
            if (!options.DisableValidationInterceptor)
            {
                ValidationInterceptorRegistrar.Initialize(IocManager);
            }

            if (!options.DisableAuditingInterceptor)
            {
                AuditingInterceptorRegistrar.Initialize(IocManager);
            }

            if (!options.DisableEntityHistoryInterceptor)
            {
                EntityHistoryInterceptorRegistrar.Initialize(IocManager);
            }

            if (!options.DisableUnitOfWorkInterceptor)
            {
                UnitOfWorkRegistrar.Initialize(IocManager);
            }

            if (!options.DisableAuthorizationInterceptor)
            {
                AuthorizationInterceptorRegistrar.Initialize(IocManager);
            }
        }
Exemple #10
0
 private void AddInterceptorRegistrars()
 {
     ValidationInterceptorRegistrar.Initialize(IocManager);
     AuditingInterceptorRegistrar.Initialize(IocManager);
     EntityHistoryInterceptorRegistrar.Initialize(IocManager);
     UnitOfWorkRegistrar.Initialize(IocManager);
     AuthorizationInterceptorRegistrar.Initialize(IocManager);
 }
Exemple #11
0
        public override void PreInitialize()
        {
            IocManager.AddConventionalRegistrar(new BasicConventionalRegistrar());
            IocManager.Register <IScopedIocResolver, ScopedIocResolver>(DependencyLifeStyle.Transient);
            IocManager.Register(typeof(IAmbientScopeProvider <>), typeof(DataContextAmbientScopeProvider <>), DependencyLifeStyle.Transient);

            UnitOfWorkRegistrar.Initialize(IocManager);
            AuthorizationInterceptorRegistrar.Initialize(IocManager);
            AddIgnoredTypes();
            base.PreInitialize();
        }
Exemple #12
0
        /// <summary>
        /// 这是应用启动调用的第一个事件,这里面的代码,会在依赖注入注册之前运行
        /// </summary>
        public override void PreInitialize()
        {
            //注册基本的约定注册器
            IocManager.AddConventionalRegistrar(new BasicConventionalRegistrar());

            //注册IScopedIocResolver
            IocManager.Register <IScopedIocResolver, ScopedIocResolver>(DependencyLifeStyle.Transient);

            //初始化验证拦截器
            ValidationInterceptorRegistrar.Initialize(IocManager);

            //初始化审计拦截器
            AuditingInterceptorRegistrar.Initialize(IocManager);

            //工作单元拦截器初始化
            UnitOfWorkRegistrar.Initialize(IocManager);

            //授权拦截器拦截器
            AuthorizationInterceptorRegistrar.Initialize(IocManager);

            //添加审计的选择器
            Configuration.Auditing.Selectors.Add(
                //应用服务(IApplicationService)需要记录审计日志
                new NamedTypeSelector(
                    "Abp.ApplicationServices",
                    type => typeof(IApplicationService).IsAssignableFrom(type)
                    )
                );

            Configuration.Localization.Sources.Add(
                new DictionaryBasedLocalizationSource(
                    AbpConsts.LocalizationSourceName,
                    new XmlEmbeddedFileLocalizationDictionaryProvider(
                        Assembly.GetExecutingAssembly(), "Abp.Localization.Sources.AbpXmlSource"
                        )));

            //添加本地化源
            Configuration.Settings.Providers.Add <LocalizationSettingProvider>();
            //添加邮件设置服务
            Configuration.Settings.Providers.Add <EmailSettingProvider>();
            Configuration.Settings.Providers.Add <NotificationSettingProvider>();
            Configuration.Settings.Providers.Add <TimingSettingProvider>();

            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.SoftDelete, true);
            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.MustHaveTenant, true);
            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.MayHaveTenant, true);

            ConfigureCaches();
            AddIgnoredTypes();
        }
        /// <summary>
        ///     First place of program start.
        /// </summary>
        /// <param name="eventArgs">
        ///     Bootstrap of program.
        /// </param>
        protected override void OnStartup(StartupEventArgs eventArgs)
        {
            IocManager.Instance.AddConventionalRegistrar(new BasicConventionalRegistrar());
            UnitOfWorkRegistrar.Initialize(IocManager.Instance);

            IocManager.Instance.RegisterAssemblyByConvention(Assembly.Load("DynamicTranslator.Core"));
            IocManager.Instance.RegisterAssemblyByConvention(Assembly.Load("DynamicTranslator"));

            IocManager.Instance.Register <IGrowlNotifications, GrowlNotifiactions>();

            var defaultSlidingExpireTime = TimeSpan.FromHours(24);

            IocManager.Instance.Resolve <ICachingConfiguration>().ConfigureAll(cache => { cache.DefaultSlidingExpireTime = defaultSlidingExpireTime; });

            var configurations = IocManager.Instance.Resolve <IStartupConfiguration>();

            configurations.Initialize();
            base.OnStartup(eventArgs);
        }
Exemple #14
0
 public virtual void Initialize()
 {
     UnitOfWorkRegistrar.Initialize(IocManager);
     ValidationInterceptorRegistrar.Initialize(IocManager);
     if (ConventionalRegistrarConfig.RegistrarForInterface)
     {
         IocManager.AddConventionalRegistrar(new BasicConventionalRegistrar());
     }
     if (ConventionalRegistrarConfig.Assembly == null)
     {
         var assemblies = ConventionalRegistrarConfig.IsWebApp ? BuildManager.GetReferencedAssemblies().Cast <Assembly>() : AppDomain.CurrentDomain.GetAssemblies();
         assemblies = FilterSystemAssembly(assemblies);
         foreach (var assemblie in assemblies)
         {
             IocManager.RegisterAssemblyByConvention(assemblie);
         }
         return;
     }
     IocManager.RegisterAssemblyByConvention(ConventionalRegistrarConfig.Assembly);
 }
Exemple #15
0
        public TestBaseWithLocalIocManager()
        {
            LocalIocManager = new IocManager();


            /*
             * 需要注意注册的次序!
             * 先注册拦截器
             */

            //开启uow事务
            UnitOfWorkRegistrar.Initialize(LocalIocManager);

            LocalIocManager.IocContainer.Register(
                Component.For(typeof(IDbContextProvider <>)).ImplementedBy(typeof(UnitOfWorkDbContextProvider <>)).LifestyleTransient(),
                Component.For <IUnitOfWorkDefaultOptions, UnitOfWorkDefaultOptions>().ImplementedBy <UnitOfWorkDefaultOptions>().LifestyleSingleton(),
                Component.For <IIocResolver, IocManager>().ImplementedBy <IocManager>().LifestyleSingleton(),
                Component.For <IUnitOfWorkManager>().ImplementedBy <UnitOfWorkManager>().LifestyleSingleton()
                );

            LocalIocManager.Register(typeof(UnitOfWorkInterceptor), DependencyLifeStyle.Singleton);

            //IocManager.Register<HelpController>(DependencyLifeStyle.Transient);

            LocalIocManager.IocContainer.Install(new FinderInstaller());
            LocalIocManager.AddConventionalRegistrar(new BasicConventionalRegistrar());

            LocalIocManager.RegisterAssemblyByConvention(typeof(IRepository).Assembly);
            LocalIocManager.RegisterAssemblyByConvention(typeof(DomainServiceBase).Assembly);
            LocalIocManager.RegisterAssemblyByConvention(typeof(AppServiceBase).Assembly);
            //LocalIocManager.RegisterAssemblyByConvention(typeof(TestBaseWithLocalIocManager).Assembly);

            //LocalIocManager.RegisterAssemblyByConvention(Assembly.Load("DDD.Domain.Common"));
            LocalIocManager.RegisterAssemblyByConvention(Assembly.Load("DDD.Domain.Core"));
            LocalIocManager.RegisterAssemblyByConvention(Assembly.Load("DDD.Domain.Service"));
            //IocManager.Register<IBlogRepository>();
            //IocManager.Register<IUserRepository>();
        }
        public OracleTestBaseWithLocalIocManager()
        {
            LocalIocManager = new IocManager();


            /*
             * 需要注意注册的次序!
             * 先注册拦截器
             */

            //开启uow事务
            UnitOfWorkRegistrar.Initialize(LocalIocManager);

            LocalIocManager.IocContainer.Register(
                Component.For(typeof(IDbContextProvider <>)).ImplementedBy(typeof(UnitOfWorkDbContextProvider <>)).LifestyleTransient(),
                Component.For <IUnitOfWorkDefaultOptions, UnitOfWorkDefaultOptions>().ImplementedBy <UnitOfWorkDefaultOptions>().LifestyleSingleton(),
                Component.For <IIocResolver, IocManager>().ImplementedBy <IocManager>().LifestyleSingleton(),
                Component.For <IUnitOfWorkManager>().ImplementedBy <UnitOfWorkManager>().LifestyleSingleton()
                //Component.For<IAutoMapperInitializer, AutoMapperInitializer>().ImplementedBy<AutoMapperInitializer>().LifestyleSingleton()
                );


            LocalIocManager.Register(typeof(UnitOfWorkInterceptor), DependencyLifeStyle.Singleton);


            //IocManager.Register<HelpController>(DependencyLifeStyle.Transient);

            LocalIocManager.IocContainer.Install(new FinderInstaller());
            LocalIocManager.AddConventionalRegistrar(new BasicConventionalRegistrar());

            LocalIocManager.RegisterAssemblyByConvention(typeof(IAutoMapperModule).Assembly);
            LocalIocManager.RegisterAssemblyByConvention(typeof(IInfrastructureDomainModule).Assembly);
            LocalIocManager.RegisterAssemblyByConvention(typeof(IDomainCoreModule).Assembly);
            LocalIocManager.RegisterAssemblyByConvention(typeof(IDomainServiceModule).Assembly);
            LocalIocManager.RegisterAssemblyByConvention(typeof(IAppServiceModule).Assembly);
        }
Exemple #17
0
 /// <summary>
 /// 初始化拦截器
 /// </summary>
 private void InitIntercept()
 {
     UnitOfWorkRegistrar.Initialize(IocManager);
 }
Exemple #18
0
 public void AddInterceptorRegistrars()
 {
     ValidationInterceptorRegistrar.Initialize(IocManager);
     UnitOfWorkRegistrar.Initialize(IocManager);
 }
Exemple #19
0
        protected void Application_Start()
        {
            var config = GlobalConfiguration.Configuration;

            //AreaRegistration.RegisterAllAreas();
            //GlobalConfiguration.Configure(WebApiConfig.Register);
            //FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes, config);

            var iocManager = new IocManager();

            //指定日志
            iocManager.IocContainer.AddFacility <LoggingFacility>(f => f.UseNLog().WithConfig("NLog.config"));
            //iocManager.IocContainer.AddFacility<LoggingFacility>(f => f.UseLog4Net().WithConfig("log4net.config"));

            //开启uow事务
            UnitOfWorkRegistrar.Initialize(iocManager);

            iocManager.IocContainer.Register(
                Component.For(typeof(IDbContextProvider <>)).ImplementedBy(typeof(UnitOfWorkDbContextProvider <>)).LifestyleTransient(),
                Component.For <IUnitOfWorkDefaultOptions, UnitOfWorkDefaultOptions>().ImplementedBy <UnitOfWorkDefaultOptions>().LifestyleSingleton(),
                //Component.For<IIocResolver, IocManager>().ImplementedBy<IocManager>().LifestyleSingleton(),
                Component.For <IUnitOfWorkManager>().ImplementedBy <UnitOfWorkManager>().LifestyleSingleton()
                );

            iocManager.Register(typeof(UnitOfWorkInterceptor));

            //注册
            iocManager.AddConventionalRegistrar(new BasicConventionalRegistrar());
            iocManager.AddConventionalRegistrar(new ApiControllerConventionalRegistrar());

            iocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());

            //注册service
            iocManager.RegisterAssemblyByConvention(typeof(IAutoMapperModule).Assembly);
            iocManager.RegisterAssemblyByConvention(typeof(IInfrastructureWebApiModule).Assembly);
            iocManager.RegisterAssemblyByConvention(typeof(IInfrastructureDomainModule).Assembly);
            iocManager.RegisterAssemblyByConvention(typeof(IDomainCoreModule).Assembly);
            iocManager.RegisterAssemblyByConvention(typeof(IDomainServiceModule).Assembly);
            iocManager.RegisterAssemblyByConvention(typeof(IAppServiceModule).Assembly);
            iocManager.RegisterAssemblyByConvention(typeof(IocManager).Assembly);


            //注册泛型仓储
            using (var repositoryRegistrar = iocManager.ResolveAsDisposable <EfGenericRepositoryRegistrar>())
            {
                repositoryRegistrar.Object.RegisterForDbContext(typeof(DDDDbContext), iocManager, EfAutoRepositoryTypes.Default);
            }

            //指定解析器
            config.DependencyResolver = new WindsorDependencyResolver(iocManager.IocContainer);

            //添加日志拦截器
            config.MessageHandlers.Add(iocManager.Resolve <HttpMessageLogHandler>());

            //指定controller解析器
            config.Services.Replace(typeof(IHttpControllerActivator), new ApiControllerActivator(iocManager));

            //注册helppage
            //iocManager.Register<HelpController>(DependencyLifeStyle.Transient);

            //初始化automapper
            InitialAutoMapper(iocManager.IocContainer.Resolve <IAutoMapperInitializer>());

            //注册过滤器
            InitializeFilters(iocManager, config);

            config.EnsureInitialized();
        }
Exemple #20
0
 public override void PreInitialize()
 {
     IocManager.AddConventionalRegistrar(new BasicConventionalRegistrar());
     UnitOfWorkRegistrar.Initialize(IocManager);
     ApplicationServiceInterceptorRegistrar.Initialize(IocManager);
 }
Exemple #21
0
 public void RegisteCompleted()
 {
     UnitOfWorkRegistrar.Initialize(RegistrationBuilders);
     Container = AutofacBuilder.Build();
 }