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>(); } }
/// <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 }
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(); }
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(); }
protected override void Load(Autofac.ContainerBuilder builder) { base.Load(builder); builder .RegisterType<CachingMetaDataResolver>() .As<CachingMetaDataResolver>() .As<IMetaDataResolver>() .SingleInstance(); }
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>(); }
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 }
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(); }
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>(); }
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 }
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>(); }
protected override void Load(Autofac.ContainerBuilder builder) { base.Load(builder); builder .RegisterType<OutlookMailSender>() .As<IMailSender>() .SingleInstance(); // Stateless }
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>(); }
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(); }
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>(); }
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(); }
/// <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 }
/// <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(); }
/// <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(); }