protected override void Load(Autofac.ContainerBuilder builder)
        {
            builder.RegisterType<ServiceClientFactory>().As<IServiceClientFactory>().SingleInstance();

            builder.RegisterInstance(new ZmqClient(new ZMQ.Context(), "tcp://localhost:8001", "tcp://localhost:8002"))
                    .As<IClient>().SingleInstance();

            builder.Register<ICatalogService>(ctx => ctx.Resolve<IServiceClientFactory>().CreateServiceClient<ICatalogService>(15000));
            builder.Register<IFooService>(ctx => ctx.Resolve<IServiceClientFactory>().CreateServiceClient<IFooService>(15000));
        }
        private static void SetupExtensibility(Autofac.ContainerBuilder builder, bool withAspects)
        {
            var dynamicProxy = new CastleDynamicProxyProvider();
            var aopRepository = new AspectRepository(dynamicProxy);

            var assemblies = Revenj.Utility.AssemblyScanner.GetAssemblies().Where(it => it.FullName.StartsWith("Revenj."));
            builder.RegisterInstance(new PluginsConfiguration { Assemblies = assemblies });

            builder.RegisterType<SystemInitialization>();
            builder.RegisterType<AutofacObjectFactory>().As<IObjectFactory>().SingleInstance();
            builder.RegisterType<AutofacMefProvider>().As<IExtensibilityProvider>().SingleInstance();
            builder.RegisterGeneric(typeof(PluginRepository<>)).As(typeof(IPluginRepository<>)).SingleInstance();

            builder.RegisterInstance(aopRepository).As<IAspectRegistrator, IAspectComposer, IInterceptorRegistrator>();
            builder.RegisterInstance(dynamicProxy).As<IMixinProvider, IDynamicProxyProvider>();

            if (withAspects)
            {
                foreach (var m in AssemblyScanner.GetAllTypes())
                {
                    if (m.IsPublic && typeof(Autofac.Module).IsAssignableFrom(m) && m.GetConstructor(new Type[0]) != null)
                        builder.RegisterModule((Autofac.Module)Activator.CreateInstance(m));
                }
                builder.RegisterModule(new AspectsModule(aopRepository));
            }
        }
        private static void SetupExtensibility(Autofac.ContainerBuilder builder)
        {
            var dynamicProxy = new CastleDynamicProxyProvider();
            var aopRepository = new AspectRepository(dynamicProxy);

            var assemblies = NGS.Utility.AssemblyScanner.GetAssemblies().Where(it => it.FullName.StartsWith("NGS."));
            builder.RegisterInstance(new PluginsConfiguration { Assemblies = assemblies });

            builder.RegisterType<SystemInitialization>();
            builder.RegisterType<AutofacObjectFactory>().As<IObjectFactory>().SingleInstance();
            builder.RegisterType<AutofacMefProvider>().As<IExtensibilityProvider>().SingleInstance();
            builder.RegisterGeneric(typeof(PluginRepository<>)).As(typeof(IPluginRepository<>)).SingleInstance();

            builder.RegisterInstance(aopRepository).As<IAspectRegistrator, IAspectComposer, IInterceptorRegistrator>();
            builder.RegisterInstance(dynamicProxy).As<IMixinProvider, IDynamicProxyProvider>();
        }
        protected override void Load(Autofac.ContainerBuilder builder)
        {
            builder.RegisterType<FaceComparer>()
                    .As<FaceComparer>()
                    .WithProperty("FaceAlignmentModelPath", GetAbsolutePath(Properties.Settings.Default.FaceAlignModelFile))
                    .WithProperty("FaceAlignClassifierPath", GetAbsolutePath(Properties.Settings.Default.FaceAlignClassifierFile))
                    .WithProperty("FaceRepositoryPath", GetAbsolutePath(Properties.Settings.Default.FaceRepositoryPath))
                    .WithProperty("IlluminateReferenceFilePath", GetAbsolutePath(Properties.Settings.Default.IlluminateRefFilePath))
                    .PropertiesAutowired();

            if (EnableFaceComparer)
            {
                if (System.IO.Directory.Exists(PersonOfInterestLibraryPath))
                {
                    var personRepository = SuspectsRepositoryManager.LoadFrom(PersonOfInterestLibraryPath);
                    builder.RegisterInstance(personRepository.Peoples)
                        .As<IEnumerable<PersonOfInterest>>()
                        .ExternallyOwned();
                }
            }
            else
            {
                builder.Register(c => new PersonOfInterest[0]).SingleInstance();
                builder.RegisterType<NullRepositoryFaceComparer>()
                       .As<IRepositoryFaceComparer>();
            }
        }
        protected override void Load(Autofac.ContainerBuilder builder)
        {
            builder.RegisterInstance<ISessionFactory>(CreateSessionFactory()).SingleInstance();

            builder.Register(p => new QuickFramework.NHibenateRepository.Impl
               .NHibernateUnitOfWork(p.Resolve<ISessionFactory>()))
               .As<QuickFramework.UnitOfWork.IUnitOfWork>();

            builder.RegisterGeneric(typeof(QuickFramework.NHibenateRepository.NHibernateRepository<>))
                   .As(typeof(QuickFramework.Repository.IRepository<>));

            builder.RegisterGeneric(typeof(QuickFramework.Caching.MongoDBCacheRepository.MongoDBCacheRepository<,>))
                   .As(typeof(QuickFramework.Caching.ICacheRepository<,>))
                      .WithParameters(
                          new NamedParameter[]{
                          new NamedParameter("connectionstr","mongodb://localhost"),
                          new NamedParameter("databasename","Test"),
                          new NamedParameter("collectionname","UserDTO")
                              });
        }
Exemple #6
0
        private static void SetupExtensibility(Autofac.ContainerBuilder builder)
        {
            var dynamicProxy = new CastleDynamicProxyProvider();
            var aopRepository = new AspectRepository(dynamicProxy);

            var dllPlugins =
                (from key in ConfigurationManager.AppSettings.AllKeys
                 where key.StartsWith("PluginsPath", StringComparison.OrdinalIgnoreCase)
                 let path = ConfigurationManager.AppSettings[key]
                 let pathRelative = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, path)
                 let chosenPath = Directory.Exists(pathRelative) ? pathRelative : path
                 select chosenPath)
                .ToList();
            builder.RegisterInstance(new PluginsConfiguration { Directories = dllPlugins });

            builder.RegisterType<SystemInitialization>();
            builder.RegisterType<AutofacObjectFactory>().As<IObjectFactory>().SingleInstance();
            builder.RegisterType<AutofacMefProvider>().As<IExtensibilityProvider>().SingleInstance();
            builder.RegisterGeneric(typeof(PluginRepository<>)).As(typeof(IPluginRepository<>)).SingleInstance();

            builder.RegisterInstance(aopRepository).As<IAspectRegistrator, IAspectComposer, IInterceptorRegistrator>();
            builder.RegisterInstance(dynamicProxy).As<IMixinProvider, IDynamicProxyProvider>();
        }
Exemple #7
0
        private static void SetupPostgres(Autofac.ContainerBuilder builder)
        {
            var cs = ConfigurationManager.AppSettings["ConnectionString"];
            if (string.IsNullOrEmpty(cs))
                throw new ConfigurationErrorsException(@"ConnectionString is missing from configuration. Add ConnectionString to <appSettings>
            Example: <add key=""ConnectionString"" value=""server=postgres.localhost;port=5432;database=MyDatabase;user=postgres;password=123456;encoding=unicode"" />");

            builder.RegisterInstance(new NGS.DatabasePersistence.Postgres.ConnectionInfo(cs));
            builder.RegisterType<PostgresQueryManager>().As<IDatabaseQueryManager>().InstancePerLifetimeScope();
            builder.RegisterType<PostgresDatabaseQuery>().As<IPostgresDatabaseQuery>();
            builder.Register(c => c.Resolve<IDatabaseQueryManager>().CreateQuery()).As<IDatabaseQuery>().InstancePerLifetimeScope();
            builder.RegisterType<PostgresDatabaseNotification>().As<IDataChangeNotification, IEagerNotification>().SingleInstance();

            builder.RegisterType<PostgresObjectFactory>().As<IPostgresConverterRepository, IPostgresConverterFactory>().SingleInstance();

            builder.RegisterType<NGS.DatabasePersistence.Postgres.QueryGeneration.QueryExecutor>();
        }
 protected override void RegisterMocks(Autofac.ContainerBuilder containerBuilder)
 {
     base.RegisterMocks(containerBuilder);
     containerBuilder.RegisterInstance(m_EventAggregateMock.Object).As<IEventAggregate>();
     containerBuilder.RegisterInstance(m_AggregateRepositoryMock.Object).As<IAggregateRepository>();
     containerBuilder.RegisterInstance(m_ServerConfigurationMock.Object).As<IServerConfiguration>();
     containerBuilder.RegisterInstance(m_ConnectionManagerMock.Object).As<IConnectionManager>();
 }
        private static void SetupPostgres(Autofac.ContainerBuilder builder, string cs)
        {
            builder.RegisterInstance(new Revenj.DatabasePersistence.Postgres.ConnectionInfo(cs));
            builder.RegisterType<PostgresConnectionPool>().As<IConnectionPool>().SingleInstance();
            builder.RegisterType<PostgresQueryManager>().As<IDatabaseQueryManager>().InstancePerLifetimeScope();
            builder.RegisterType<PostgresDatabaseQuery>().As<IPostgresDatabaseQuery>();
            builder.Register(c => c.Resolve<IDatabaseQueryManager>().CreateQuery()).As<IDatabaseQuery>().InstancePerLifetimeScope();
            builder.RegisterType<PostgresDatabaseNotification>().As<IDataChangeNotification, IEagerNotification>().SingleInstance();

            builder.RegisterType<PostgresObjectFactory>().As<IPostgresConverterRepository, IPostgresConverterFactory>().SingleInstance();

            builder.RegisterType<Revenj.DatabasePersistence.Postgres.QueryGeneration.QueryExecutor>();
        }
 protected override void RegisterMocks(Autofac.ContainerBuilder containerBuilder)
 {
     base.RegisterMocks(containerBuilder);
     containerBuilder.RegisterInstance(m_ServerConfigurationMock.Object).As<IServerConfiguration>();
 }
        protected override void RegisterMocks(Autofac.ContainerBuilder containerBuilder)
        {
            base.RegisterMocks(containerBuilder);
            containerBuilder.RegisterInstance(m_ConnectionManagerMock.Object).As<IConnectionManager>();

            m_ServerConfigurationMock.SetupGet(m => m.Nodes).Returns(m_NodesCollectionMock.Object);
            containerBuilder.RegisterInstance(m_ServerConfigurationMock.Object).As<IServerConfiguration>();

            m_NodesCollectionMock.SetupGet(m => m.Master).Returns(m_MasterConfigurationMock.Object);
            containerBuilder.RegisterInstance(m_NodesCollectionMock.Object).As<INodeCollection>();

            m_MasterConfigurationMock.SetupGet(m => m.ServerId).Returns(MasterId);
            containerBuilder.RegisterInstance(m_MasterConfigurationMock.Object).As<INodeConfiguration>();
        }
 protected override void RegisterMocks(Autofac.ContainerBuilder containerBuilder)
 {
     base.RegisterMocks(containerBuilder);
     containerBuilder.RegisterInstance(m_EventAggregate.Object).As<IEventAggregate>();
     containerBuilder.RegisterInstance(m_AggregateRepositoryMock.Object).As<IAggregateRepository>();
 }
 protected override void RegisterMocks(Autofac.ContainerBuilder containerBuilder)
 {
     base.RegisterMocks(containerBuilder);
     m_MasterNodeMock.SetupGet(m => m.Proxy).Returns(m_MasterProxyMock.Object);
     m_NodesMock.SetupGet(m => m.Master).Returns(m_MasterNodeMock.Object);
     m_ServerConfigurationMock.SetupGet(m => m.Nodes).Returns(m_NodesMock.Object);
     containerBuilder.RegisterInstance(m_ServerConfigurationMock.Object).As<IServerConfiguration>();
     containerBuilder.RegisterInstance(m_AggregateRepositoryMock.Object).As<IAggregateRepository>();
 }