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));
        }
 protected override void Register(Autofac.ContainerBuilder builder) {
     builder.RegisterType<PlacementFileParser>().As<IPlacementFileParser>();
     builder.RegisterType<StubCacheManager>().As<ICacheManager>();
     builder.RegisterType<StubParallelCacheContext>().As<IParallelCacheContext>();
     builder.RegisterType<InMemoryWebSiteFolder>().As<IWebSiteFolder>()
         .As<InMemoryWebSiteFolder>().InstancePerLifetimeScope();
 }
        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));
            }
        }
        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>();
            }
        }
Exemple #5
0
        /// <summary>
        /// Registers the jq service.
        /// </summary>
        /// <param name="builder">The builder.</param>
        protected static void RegisterApplicationJqService(Autofac.ContainerBuilder builder)
        {
            builder.RegisterType<iPow.Application.jq.Service.AddSortService>()
            .As<iPow.Application.jq.Service.IAddSortService>();
            builder.RegisterType<iPow.Application.jq.Service.ArticleService>()
            .As<iPow.Application.jq.Service.IArticleService>();
            builder.RegisterType<iPow.Application.jq.Service.HomeService>()
            .As<iPow.Application.jq.Service.IHomeService>();
            builder.RegisterType<iPow.Application.jq.Service.PageService>()
            .As<iPow.Application.jq.Service.IPageService>();
            builder.RegisterType<iPow.Application.jq.Service.PicInfoService>()
            .As<iPow.Application.jq.Service.IPicInfoService>();
            builder.RegisterType<iPow.Application.jq.Service.SearchService>()
            .As<iPow.Application.jq.Service.ISearchService>();
            builder.RegisterType<iPow.Application.jq.Service.SightInfoService>()
            .As<iPow.Application.jq.Service.ISightInfoService>();
            builder.RegisterType<iPow.Application.jq.Service.SinaInfoService>()
            .As<iPow.Application.jq.Service.ISinaInfoService>();
            builder.RegisterType<iPow.Application.jq.Service.TicketService>()
            .As<iPow.Application.jq.Service.ITicketService>();
            builder.RegisterType<iPow.Application.jq.Service.TopClassService>()
            .As<iPow.Application.jq.Service.ITopClassService>();
            builder.RegisterType<iPow.Application.jq.Service.VideoInfoService>()
            .As<iPow.Application.jq.Service.IVideoInfoService>();

            //add 2012-4-28  JPomichael
            builder.RegisterType<iPow.Application.jq.Service.SightInfoSortService>()
            .As<iPow.Application.jq.Service.ISightInfoSortService>();
            //end
        }
Exemple #6
0
        protected override void Load(Autofac.ContainerBuilder builder)
        {
            builder.RegisterType<RestApplication>().As<RestApplication, IRestApplication>();
            builder.RegisterType<SoapApplication>().As<SoapApplication, ISoapApplication>();
            builder.RegisterType<CommandConverter>().As<ICommandConverter>();

            SetupExtensibility(builder);
            if (WithDatabase)
                SetupPostgres(builder);
            SetupPatterns(builder);
            SetupSerialization(builder);

            builder.RegisterType<RepositoryAuthentication>().As<IAuthentication>();
            builder.RegisterType<RepositoryPrincipalFactory>().As<IPrincipalFactory>();
            builder.RegisterType<PermissionManager>().As<IPermissionManager>().SingleInstance();

            builder.RegisterType<LogFactory>().As<ILogFactory>().SingleInstance();
            builder.RegisterType<NLogLogger>().As<ILogger>();

            builder.RegisterType(typeof(ProcessingEngine)).As(typeof(IProcessingEngine)).SingleInstance();

            builder.RegisterType<OnContainerBuild>().As<IStartable>();

            base.Load(builder);
        }
        public void Register(Autofac.ContainerBuilder builder, ITypeFinder typeFinder)
        {
            builder.RegisterType<WorkflowEngine>().As<IWorkflowEngine>().InstancePerHttpRequest();
            builder.RegisterAssemblyTypes(typeFinder.GetAssemblies().ToArray())
               .AssignableTo<IAutoActivityHandler>()
               .AsImplementedInterfaces();

            Assembly[] assemblies = typeFinder.GetAssemblies().ToArray();
            builder.RegisterAssemblyTypes(assemblies)
               .AssignableTo<IAutoActivityHandler>()
               .AsImplementedInterfaces();

            //regisger  [UUID("ApplyQuota-2.0-Approve-ActivityExecutedEvent")]
            var handlers = typeFinder.FindClassesOfType(typeof(IAutoActivityHandler)).ToList();
            foreach (var handler in handlers)
            {
                object[] attrs = handler.GetCustomAttributes(typeof(UUIDAttribute), false);
                string uuid = string.Empty;
                if (attrs != null)
                {
                    foreach (UUIDAttribute attr in attrs)
                    {
                        uuid = attr.UUID;
                    }
                    builder.RegisterType(handler).As<IAutoActivityHandler>().Keyed<IAutoActivityHandler>(uuid)
                    .InstancePerHttpRequest();
                }
            }

            //regisger  [UUID("ApplyQuota-2.0-Approve-ActivityExecutedEvent")]
            var consumers = typeFinder.FindClassesOfType(typeof(IConsumer<>)).ToList();
            foreach (var consumer in consumers)
            {
                object[] attrs = consumer.GetCustomAttributes(typeof(UUIDAttribute), false);
                string uuid = string.Empty;
                if (attrs != null)
                {
                    foreach (UUIDAttribute attr in attrs)
                    {
                        uuid = attr.UUID;
                    }
                    var interfaceType = consumer.FindInterfaces((type, criteria) =>
                    {
                        var isMatch = type.IsGenericType && ((Type)criteria).IsAssignableFrom(type.GetGenericTypeDefinition());
                        return isMatch;
                    }, typeof(IConsumer<>))[0];
                    builder.RegisterType(consumer).As(interfaceType)
                    .Keyed(uuid, interfaceType)
                    .InstancePerHttpRequest();
                }
            }
        }
 /// <summary>
 /// Registers the comm service.
 /// </summary>
 /// <param name="builder">The builder.</param>
 protected static void RegisterCommService(Autofac.ContainerBuilder builder)
 {
     //comm service
     builder.RegisterType<Miaow.Infrastructure.Crosscutting.Comm.Service.CityInfoService>()
     .As<Miaow.Infrastructure.Crosscutting.Comm.Service.ICityInfoService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Infrastructure.Crosscutting.Comm.Service.DiscountService>()
     .As<Miaow.Infrastructure.Crosscutting.Comm.Service.IDiscountService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Infrastructure.Crosscutting.Comm.Service.LocationService>()
     .As<Miaow.Infrastructure.Crosscutting.Comm.Service.ILocationService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Infrastructure.Crosscutting.Comm.Service.SightInfoSearchService>()
     .As<Miaow.Infrastructure.Crosscutting.Comm.Service.ISightInfoSearchService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Infrastructure.Crosscutting.Comm.Service.FormsAuthService>()
     .As<Miaow.Infrastructure.Crosscutting.Comm.Service.IFormsAuthService>().InstancePerHttpRequest();
 }
Exemple #9
0
 protected override void Load(Autofac.ContainerBuilder builder)
 {
     base.Load(builder);
     builder.RegisterType<PosixIdentitySource>()
         .AsImplementedInterfaces()
         .InstancePerLifetimeScope();
 }
        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)
 {
     base.Load(builder);
     builder.RegisterType<HtpasswdIdentitySource>()
         .AsImplementedInterfaces()
         .SingleInstance();
 }
Exemple #12
0
        protected override void Load(Autofac.ContainerBuilder builder)
        {
            base.Load(builder);

            builder
                .RegisterType<CachingMetaDataResolver>()
                .As<CachingMetaDataResolver>()
                .As<IMetaDataResolver>()
                .SingleInstance();
        }
Exemple #13
0
        protected override void SetupBuilder(Autofac.ContainerBuilder builder)
        {
            base.SetupBuilder(builder);
            builder.RegisterModule(new Zetbox.Client.ClientModule());
            builder.RegisterModule(new Zetbox.API.Client.HttpClientModule());

            builder
                .RegisterType<ProxyMock>()
                .As<IProxy>()
                .InstancePerLifetimeScope();
        }
        private static void SetupPatterns(Autofac.ContainerBuilder builder)
        {
            var serverModels =
                (from asm in NGS.Utility.AssemblyScanner.GetAssemblies()
                 let type = asm.GetType("SystemBoot.Configuration")
                 where type != null && type.GetMethod("Initialize") != null
                 select asm)
                .ToList();

            builder.RegisterGeneratedFactory<NGS.DomainPatterns.DomainModel.Factory>();
            builder.RegisterType<NGS.DomainPatterns.DomainModel>();
            builder.Register(c => c.Resolve<NGS.DomainPatterns.DomainModel.Factory>()(serverModels)).As<IDomainModel>().SingleInstance();
            builder.RegisterType<DomainTypeResolver>().As<ITypeResolver>().SingleInstance();
            builder.RegisterType<ServiceLocator>().As<IServiceLocator, IServiceProvider>().InstancePerLifetimeScope();
            builder.RegisterGeneric(typeof(WeakCache<>)).As(typeof(IDataCache<>)).InstancePerLifetimeScope();
            builder.RegisterType<DomainEventSource>().As<IDomainEventSource>().InstancePerLifetimeScope();
            builder.RegisterType<DomainEventStore>().As<IDomainEventStore>().InstancePerLifetimeScope();
            builder.RegisterGeneric(typeof(SingleDomainEventSource<>)).As(typeof(IDomainEventSource<>)).InstancePerLifetimeScope();
            builder.RegisterGeneric(typeof(RegisterChangeNotifications<>)).As(typeof(IObservable<>)).SingleInstance();
        }
        /// <summary>
        /// Registers the  account Service
        /// </summary>
        /// <param name="builder"></param>
        protected static void RegisterApplicationAccountService(Autofac.ContainerBuilder builder)
        {
            builder.RegisterType<Miaow.Application.account.Service.SightInfoService>()
                .As<Miaow.Application.account.Service.ISightInfoService>();
            builder.RegisterType<Miaow.Application.account.Service.TourPlanDetailService>()
                .As<Miaow.Application.account.Service.ITourPlanDetailService>();

            //JPomichael  Time 2012-6-7
            builder.RegisterType<Miaow.Application.account.Service.CityInfoMoreService>()
                .As<Miaow.Application.account.Service.ICityInfoMoreService>();
            //end

            //JPomichael Time 2012-6-18
            builder.RegisterType<Miaow.Application.account.Service.HotelInfoService>()
                .As<Miaow.Application.account.Service.IHotelInfoService>();

            //JPomichael Time 2012-6-19
            builder.RegisterType<Miaow.Application.account.Service.HotelPropertyInfoService>()
                .As<Miaow.Application.account.Service.IHotelPropertyInfoService>();
        }
Exemple #16
0
        protected override void SetupBuilder(Autofac.ContainerBuilder builder)
        {
            base.SetupBuilder(builder);

            builder.RegisterType<ZetboxMockFactory>()
                .As<Zetbox.Client.Mocks.ZetboxMockFactory>()
                .InstancePerLifetimeScope();

            builder.RegisterType<TestViewModelFactory>()
                .AsSelf()
                .AsImplementedInterfaces()
                .InstancePerDependency();

            builder.RegisterType<NullIdentityResolver>()
                .AsSelf()
                .AsImplementedInterfaces()
                .InstancePerDependency();

            builder.RegisterType<TestProxy>()
                .As<IProxy>()
                .InstancePerDependency();
        }
        public void Register(Autofac.ContainerBuilder builder, ITypeFinder typeFinder)
        {

            //SERVICES
            //NJM: Try new service implementation http://tech.sunnyw.net/2013/12/nopcommerce-create-customized-service.html
            builder.RegisterType<AUCatalogService>()
                .As<IAUCatalogService>()
                .WithParameter(ResolvedParameter.ForNamed<IDbContext>(CONTEXT_NAME))
                .InstancePerLifetimeScope();





        #endregion
        }
Exemple #18
0
        protected override void SetupBuilder(Autofac.ContainerBuilder builder)
        {
            base.SetupBuilder(builder);
            builder.RegisterModule(new Zetbox.API.ApiModule());
            builder.RegisterModule(new Zetbox.API.Client.ClientApiModule());
            builder.RegisterModule(new Zetbox.API.Client.HttpClientModule());
            builder.RegisterModule(new Zetbox.Client.ClientModule());
            builder.RegisterModule(new Zetbox.DalProvider.Client.ClientProvider());
            builder.RegisterModule(new Zetbox.DalProvider.Memory.MemoryProvider());
            builder.RegisterModule(new Zetbox.Objects.InterfaceModule());
            builder.RegisterModule(new Zetbox.Objects.MemoryModule());

            builder
                .RegisterType<ProxyMock>()
                .As<IProxy>()
                .InstancePerLifetimeScope();
        }
Exemple #19
0
        protected override void SetupBuilder(Autofac.ContainerBuilder builder)
        {
            base.SetupBuilder(builder);

            builder.RegisterModule(new Zetbox.API.ApiModule());
            builder.RegisterModule(new Zetbox.API.Server.ServerApiModule());

            builder
                .RegisterType<MetaDataResolverMock>()
                .As<IMetaDataResolver>()
                .InstancePerDependency();

            builder.Register(c => new ZetboxContextMock(c.Resolve<IMetaDataResolver>(), null, c.Resolve<ZetboxConfig>(), c.Resolve<Func<IFrozenContext>>(), c.Resolve<InterfaceType.Factory>()))
                .As<IZetboxContext>()
                .As<IFrozenContext>()
                .As<IReadOnlyZetboxContext>()
                .InstancePerDependency();
        }
 /// <summary>
 /// Registers the dj service.
 /// </summary>
 /// <param name="builder">The builder.</param>
 protected static void RegisterApplicationDjService(Autofac.ContainerBuilder builder)
 {
     builder.RegisterType<Miaow.Application.dj.Service.TourPlanService>()
     .As<Miaow.Application.dj.Service.ITourPlanService>();
     builder.RegisterType<Miaow.Application.dj.Service.HomeService>()
         .As<Miaow.Application.dj.Service.IHomeService>();
     builder.RegisterType<Miaow.Application.dj.Service.HotelInfoService>()
         .As<Miaow.Application.dj.Service.IHotelInfoService>();
     builder.RegisterType<Miaow.Application.dj.Service.HotKeyWordsService>()
         .As<Miaow.Application.dj.Service.IHotKeyWordsService>();
     builder.RegisterType<Miaow.Application.dj.Service.LinksAndTopCountService>()
         .As<Miaow.Application.dj.Service.ILinksAndTopCountService>();
     builder.RegisterType<Miaow.Application.dj.Service.ListService>()
         .As<Miaow.Application.dj.Service.IListService>();
     builder.RegisterType<Miaow.Application.dj.Service.SearchService>()
         .As<Miaow.Application.dj.Service.ISearchService>();
 }
Exemple #21
0
        protected static void RegisterAuthorize(Autofac.ContainerBuilder builder)
        {
            builder.RegisterType<Miaow.Infrastructure.Crosscutting.Authorize.MvcActionService>()
                .As<Miaow.Infrastructure.Crosscutting.Authorize.IMvcActionService>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Crosscutting.Authorize.MvcControllerClassService>()
                .As<Miaow.Infrastructure.Crosscutting.Authorize.IMvcControllerClassService>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Crosscutting.Authorize.MvcControllerService>()
                .As<Miaow.Infrastructure.Crosscutting.Authorize.IMvcControllerService>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Crosscutting.Authorize.MvcRolePermissionService>()
                .As<Miaow.Infrastructure.Crosscutting.Authorize.IMvcRolePermissionService>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Crosscutting.Authorize.RoleService>()
                .As<Miaow.Infrastructure.Crosscutting.Authorize.IRoleService>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Crosscutting.Authorize.UserRoleService>()
                .As<Miaow.Infrastructure.Crosscutting.Authorize.IUserRoleService>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Crosscutting.Authorize.UserService>()
                .As<Miaow.Infrastructure.Crosscutting.Authorize.IUserService>().InstancePerHttpRequest();
            //Add JPomichael 2012、4、17
            builder.RegisterType<Miaow.Infrastructure.Crosscutting.Authorize.UserExtensionService>()
              .As<Miaow.Infrastructure.Crosscutting.Authorize.IUserExtensionService>().InstancePerHttpRequest();

            //added by yjihrp 2012.4.12
            builder.RegisterType<Miaow.Infrastructure.Crosscutting.Authorize.AssemblyControllerService>();
            //end added by yjihrp 2012.4.12
        }
Exemple #22
0
        protected override void Load(Autofac.ContainerBuilder builder)
        {
            base.Load(builder);

            builder
                .RegisterModule<Zetbox.API.ApiModule>();

            builder
                .RegisterType<Zetbox.API.Common.Reporting.LoggingErrorReporter>()
                .AsImplementedInterfaces()
                .SingleInstance();

            builder
                .RegisterType<CachingMetaDataResolver>()
                .As<CachingMetaDataResolver>()
                .As<IMetaDataResolver>()
                .SingleInstance();

            builder
                .RegisterType<InvocationExecutor>()
                .As<IInvocationExecutor>()
                .SingleInstance();

            builder
                .RegisterType<IconConverter>()
                .As<IIconConverter>()
                .SingleInstance();

            builder.RegisterModule<TextExtractor.Module>();

            builder
                .RegisterType<Fulltext.DataObjectFormatter>()
                .SingleInstance();

            builder
                .RegisterType<AssetsManager>()
                .As<IAssetsManager>()
                .SingleInstance();

            builder.RegisterModule<Zetbox.Objects.InterfaceModule>();
            builder.RegisterModule((Module)Activator.CreateInstance(Type.GetType("Zetbox.DalProvider.Memory.MemoryProvider, Zetbox.DalProvider.Memory", true)));
            builder.RegisterModule<Zetbox.Assets.AssetsModule>();
        }
Exemple #23
0
            protected override void Load(Autofac.ContainerBuilder builder)
            {
                base.Load(builder);

                builder
                    .RegisterType<OutlookMailSender>()
                    .As<IMailSender>()
                    .SingleInstance(); // Stateless
            }
Exemple #24
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 #25
0
 private static void SetupSerialization(Autofac.ContainerBuilder builder)
 {
     builder.RegisterType<GenericDataContractResolver>().SingleInstance();
     builder.RegisterType<XmlSerialization>().As<ISerialization<XElement>>().SingleInstance();
     builder.RegisterType<GenericDeserializationBinder>().SingleInstance();
     builder.RegisterType<BinarySerialization>().As<ISerialization<byte[]>>().SingleInstance();
     builder.RegisterType<JsonSerialization>().As<ISerialization<string>, ISerialization<StringBuilder>, ISerialization<StreamReader>>().SingleInstance();
     builder.RegisterType<ProtobufSerialization>().As<ISerialization<MemoryStream>, ISerialization<Stream>>().SingleInstance();
     builder.RegisterType<PassThroughSerialization>().As<ISerialization<object>>().SingleInstance();
     builder.RegisterType<WireSerialization>().As<IWireSerialization>().SingleInstance();
 }
Exemple #26
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>();
        }
Exemple #27
0
        private static void SetupPatterns(Autofac.ContainerBuilder builder)
        {
            var serverModels =
                (from key in ConfigurationManager.AppSettings.AllKeys
                 where key.StartsWith("ServerAssembly", StringComparison.OrdinalIgnoreCase)
                 select LoadAssembly(ConfigurationManager.AppSettings[key]))
                .ToList();

            if (serverModels.Count == 0)
            {
                serverModels =
                    (from asm in NGS.Utility.AssemblyScanner.GetAssemblies()
                     let type = asm.GetType("SystemBoot.Configuration")
                     where type != null && type.GetMethod("Initialize") != null
                     select asm)
                    .ToList();
                if (serverModels.Count == 0)
                    throw new ConfigurationErrorsException(@"Server assemblies not found. When running in compiled mode, server assemblies must be deployed with other assemblies.
            Alternatively, explicitly specify sever assembly in the config file.
            Example: <add key=""ServerAssembly_Domain"" value=""AppDomainModel.dll"" />");
            }

            builder.RegisterGeneratedFactory<NGS.DomainPatterns.DomainModel.Factory>();
            builder.RegisterType<NGS.DomainPatterns.DomainModel>();
            builder.Register(c => c.Resolve<NGS.DomainPatterns.DomainModel.Factory>()(serverModels)).As<IDomainModel>().SingleInstance();
            builder.RegisterType<DomainTypeResolver>().As<ITypeResolver>().SingleInstance();
            builder.RegisterType<ServiceLocator>().As<IServiceLocator, IServiceProvider>().InstancePerLifetimeScope();
            builder.RegisterGeneric(typeof(WeakCache<>)).As(typeof(IDataCache<>)).InstancePerLifetimeScope();
            builder.RegisterType<DomainEventSource>().As<IDomainEventSource>().InstancePerLifetimeScope();
            builder.RegisterType<DomainEventStore>().As<IDomainEventStore>().InstancePerLifetimeScope();
            builder.RegisterGeneric(typeof(SingleDomainEventSource<>)).As(typeof(IDomainEventSource<>)).InstancePerLifetimeScope();
            builder.RegisterGeneric(typeof(RegisterChangeNotifications<>)).As(typeof(IObservable<>)).SingleInstance();
        }
Exemple #28
0
        /// <summary>
        /// Registers the repository.
        /// </summary>
        /// <param name="builder">The builder.</param>
        protected static void RegisterRepository(Autofac.ContainerBuilder builder)
        {
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.AdminUserExtensionRepository>()
            .As<Miaow.Domain.Repository.IAdminUserExtensionRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.AdminUserIndividuationRepository>()
            .As<Miaow.Domain.Repository.IAdminUserIndividuationRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.AdminUserRepository>()
            .As<Miaow.Domain.Repository.IAdminUserRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.ArticleClassRepository>()
            .As<Miaow.Domain.Repository.IArticleClassRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.ArticleCommRepository>()
            .As<Miaow.Domain.Repository.IArticleCommRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.ArticleInfoRepository>()
            .As<Miaow.Domain.Repository.IArticleInfoRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.CityAreaCodeRepository>()
            .As<Miaow.Domain.Repository.ICityAreaCodeRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.CityInfoRepository>()
            .As<Miaow.Domain.Repository.ICityInfoRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.DisCountInfoRepository>()
            .As<Miaow.Domain.Repository.IDisCountInfoRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.HotelCommRepository>()
            .As<Miaow.Domain.Repository.IHotelCommRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.HotelPicRepository>()
            .As<Miaow.Domain.Repository.IHotelPicRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.HotelPropertyInfo2Repository>()
            .As<Miaow.Domain.Repository.IHotelPropertyInfo2Repository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.HotelPropertyInfoRepository>()
            .As<Miaow.Domain.Repository.IHotelPropertyInfoRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.LinkInfoRepository>()
            .As<Miaow.Domain.Repository.ILinkInfoRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.PicClassRepository>()
            .As<Miaow.Domain.Repository.IPicClassRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.PicCommRepository>()
            .As<Miaow.Domain.Repository.IPicCommRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.PicInfoRepository>()
            .As<Miaow.Domain.Repository.IPicInfoRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.RolePermissionRepository>()
            .As<Miaow.Domain.Repository.IRolePermissionRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.SearchInfoRepository>()
            .As<Miaow.Domain.Repository.ISearchInfoRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.SightClassRepository>()
            .As<Miaow.Domain.Repository.ISightClassRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.SightCommRepository>()
            .As<Miaow.Domain.Repository.ISightCommRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.SightInfoRepository>()
            .As<Miaow.Domain.Repository.ISightInfoRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.SightTicketRepository>()
            .As<Miaow.Domain.Repository.ISightTicketRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.SightVouchItemRepository>()
            .As<Miaow.Domain.Repository.ISightVouchItemRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.TourClassRepository>()
            .As<Miaow.Domain.Repository.ITourClassRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.TourPlanDetailRepository>()
            .As<Miaow.Domain.Repository.ITourPlanDetailRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.TourPlanRepository>()
            .As<Miaow.Domain.Repository.ITourPlanRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.UserActionRepository>()
            .As<Miaow.Domain.Repository.IUserActionRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.UserRoleRepository>()
            .As<Miaow.Domain.Repository.IUserRoleRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.VideoClassRepository>()
            .As<Miaow.Domain.Repository.IVideoClassRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.VideoCommRepository>()
            .As<Miaow.Domain.Repository.IVideoCommRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.VideoInfoRepository>()
            .As<Miaow.Domain.Repository.IVideoInfoRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.SightInfoCirHotelRepository>()
            .As<Miaow.Domain.Repository.ISightInfoCirHotelRepository>().InstancePerHttpRequest();

            //added by yjihrp 2012.3.6
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.SightInfoCirSightRepository>()
            .As<Miaow.Domain.Repository.ISightInfoCirSightRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.SightInfoSortRepository>()
            .As<Miaow.Domain.Repository.ISightInfoSortRepository>().InstancePerHttpRequest();
            //end added by yjihrp 2012.3.6

            //added by 张军朋 2012/4/10
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.RolesRepository>()
            .As<Miaow.Domain.Repository.IRolesRepository>().InstancePerHttpRequest();
            //end

            //add by yjihrp 2012.4.12.17.2
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.MvcControllerActionRepository>()
            .As<Miaow.Domain.Repository.IMvcControllerActionRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.MvcControllerClassRepository>()
            .As<Miaow.Domain.Repository.IMvcControllerClassRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.MvcControllerRepository>()
            .As<Miaow.Domain.Repository.IMvcControllerRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.MvcControllerRolePermissionRepository>()
            .As<Miaow.Domain.Repository.IMvcControllerRolePermissionRepository>().InstancePerHttpRequest();
            //end add by yjihrp 2012.4.12.17.2

            //add by jpomichael 2014/4/19
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.AdminUserClassRepository>()
                .As<Miaow.Domain.Repository.IAdminUserClassRepository>().InstancePerHttpRequest();
            builder.RegisterType<Miaow.Infrastructure.Data.Repository.MvcControllerActionClassRepository>()
                .As<Miaow.Domain.Repository.IMvcControllerActionClassRepository>().InstancePerHttpRequest();
            //end
        }
Exemple #29
0
 /// <summary>
 /// Registers the jq service.
 /// </summary>
 /// <param name="builder">The builder.</param>
 protected static void RegisterApplicationJqService(Autofac.ContainerBuilder builder)
 {
     builder.RegisterType<Miaow.Application.jq.Service.AddSortService>()
     .As<Miaow.Application.jq.Service.IAddSortService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Application.jq.Service.ArticleService>()
     .As<Miaow.Application.jq.Service.IArticleService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Application.jq.Service.HomeService>()
     .As<Miaow.Application.jq.Service.IHomeService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Application.jq.Service.PageService>()
     .As<Miaow.Application.jq.Service.IPageService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Application.jq.Service.PicInfoService>()
     .As<Miaow.Application.jq.Service.IPicInfoService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Application.jq.Service.SearchService>()
     .As<Miaow.Application.jq.Service.ISearchService>().InstancePerHttpRequest(); ;
     builder.RegisterType<Miaow.Application.jq.Service.SightInfoService>()
     .As<Miaow.Application.jq.Service.ISightInfoService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Application.jq.Service.SinaInfoService>()
     .As<Miaow.Application.jq.Service.ISinaInfoService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Application.jq.Service.TicketService>()
     .As<Miaow.Application.jq.Service.ITicketService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Application.jq.Service.TopClassService>()
     .As<Miaow.Application.jq.Service.ITopClassService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Application.jq.Service.VideoInfoService>()
     .As<Miaow.Application.jq.Service.IVideoInfoService>().InstancePerHttpRequest();
 }
Exemple #30
0
 /// <summary>
 /// Registers the jq service.
 /// </summary>
 /// <param name="builder">The builder.</param>
 protected static void RegisterServiceUnionService(Autofac.ContainerBuilder builder)
 {
     builder.RegisterType<Miaow.Service.Union.CitySettingDefault>()
     .As<Miaow.Service.Union.CitySettingBase>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Service.Union.UnionCityService>()
     .As<Miaow.Service.Union.IUnionCityService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Service.Union.Service.CityService>()
     .As<Miaow.Service.Union.Service.ICityService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Service.Union.Service.HeadVouchDataService>()
     .As<Miaow.Service.Union.Service.IHeadVouchDataService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Service.Union.Service.HotelAroundHotelService>()
        .As<Miaow.Service.Union.Service.IHotelAroundHotelService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Service.Union.Service.HotelCommService>()
     .As<Miaow.Service.Union.Service.IHotelCommService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Service.Union.Service.HotelCommSysService>()
     .As<Miaow.Service.Union.Service.IHotelCommSysService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Service.Union.Service.HotelEbookService>()
     .As<Miaow.Service.Union.Service.IHotelEbookService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Service.Union.Service.HotelInfoService>()
     .As<Miaow.Service.Union.Service.IHotelInfoService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Service.Union.Service.HotelLeftMidService>()
     .As<Miaow.Service.Union.Service.IHotelLeftMidService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Service.Union.Service.HotelPicService>()
     .As<Miaow.Service.Union.Service.IHotelPicService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Service.Union.Service.HotelRoomService>()
     .As<Miaow.Service.Union.Service.IHotelRoomService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Service.Union.Service.HotelSearchService>()
     .As<Miaow.Service.Union.Service.IHotelSearchService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Service.Union.Service.HotelTrafficService>()
     .As<Miaow.Service.Union.Service.IHotelTrafficService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Service.Union.Service.HotelTypeService>()
     .As<Miaow.Service.Union.Service.IHotelTypeService>().InstancePerHttpRequest();
     builder.RegisterType<Miaow.Service.Union.Service.TodayLowPriceService>()
     .As<Miaow.Service.Union.Service.ITodayLowPriceService>().InstancePerHttpRequest();
 }