Ejemplo n.º 1
0
        // Please set the following connection strings in app.config for this WebJob to run:
        // AzureWebJobsDashboard and AzureWebJobsStorage
        static void Main()
        {
            _servicesBusConnectionString = AmbientConnectionStringProvider.Instance.GetConnectionString(ConnectionStringNames.ServiceBus);
            _namespaceManager            = NamespaceManager.CreateFromConnectionString(_servicesBusConnectionString);
            InitializeQueue();

            JobHostConfiguration configuration = new JobHostConfiguration
            {
                DashboardConnectionString = "",
                StorageConnectionString   = AmbientConnectionStringProvider.Instance.GetConnectionString(ConnectionStringNames.Storage)
            };
            //configuration.StorageConnectionString = ConfigurationManager.ConnectionStrings[""]

            ServiceBusConfiguration serviceBusConfig = new ServiceBusConfiguration
            {
                ConnectionString = _servicesBusConnectionString
            };

            configuration.UseServiceBus(serviceBusConfig);
            configuration.JobActivator = new AutofacJobActivator(AutofacContainerBuilder.BuildContainer());

            var host = new JobHost(configuration);

            // The following code ensures that the WebJob will be running continuously
            host.RunAndBlock();
        }
Ejemplo n.º 2
0
        public static IContainerBuilder Init()
        {
            var builder = new AutofacContainerBuilder();

            builder.Register <IMotorcyclePayload>(new MotorcyclePayload());

            builder.RegisterSingleton <ITabBarViewModel, TabBarViewModel>();
            builder.RegisterSingleton <IHomeViewModel, HomeViewModel>();

            builder.RegisterSingleton <IStartViewModel, StartViewModel>();
            builder.RegisterSingleton <IEditMotorcycleViewModel, EditMotorcycleViewModel>();

            builder.RegisterSingleton <INavStartViewModel, NavStartViewModel>();
            builder.RegisterSingleton <INav1ViewModel, Nav1ViewModel>();
            builder.RegisterSingleton <INav1AViewModel, Nav1AViewModel>();
            builder.RegisterSingleton <INav1BViewModel, Nav1BViewModel>();
            builder.RegisterSingleton <INav1CViewModel, Nav1CViewModel>();
            builder.RegisterSingleton <INav2ViewModel, Nav2ViewModel>();
            builder.RegisterSingleton <INav2AViewModel, Nav2AViewModel>();
            builder.RegisterSingleton <INav2BViewModel, Nav2BViewModel>();
            builder.RegisterSingleton <INav2CViewModel, Nav2CViewModel>();
            builder.RegisterSingleton <INav3ViewModel, Nav3ViewModel>();
            builder.RegisterSingleton <INav3AViewModel, Nav3AViewModel>();
            builder.RegisterSingleton <INav3BViewModel, Nav3BViewModel>();
            builder.RegisterSingleton <INav3CViewModel, Nav3CViewModel>();

            return(builder);
        }
Ejemplo n.º 3
0
        private void BuildAutofacContainerAndStartActivityService()
        {
            // INFO: Doing the IoC container building here
            AutofacContainerBuilder builder = new AutofacContainerBuilder();

            this.container = builder.BuildContainer();
        }
Ejemplo n.º 4
0
        private void RegisterDependencies()
        {
            //Register each DP as the type it selected to expose
            foreach (DependencyTypePair dtp in TypePairs)
            {
                AutofacContainerBuilder.RegisterInstance(dtp.Behaviour)
                .As(dtp.SelectedType);
            }

            //the IoC container visits each dependency registeration object
            //This allows the registeration logic to be handled differently
            foreach (var nbd in NonBehaviourDependencies)
            {
                nbd.Register(AutofacContainerBuilder);
            }

            //Register the GameObjectFactory and ComponentFactory too
            AutofacContainerBuilder.Register(context => new DefaultGameObjectFactory(context.Resolve <IComponentContext>(), new DefaultInjectionStrategy()))
            .As <IGameObjectFactory>()
            .SingleInstance();

            AutofacContainerBuilder.Register(context => new DefaultGameObjectComponentAttachmentFactory(context.Resolve <IComponentContext>(), new DefaultInjectionStrategy()))
            .As <IGameObjectComponentAttachmentFactory>()
            .SingleInstance();

            AutofacContainerBuilder.Register(context => new DefaultManualInjectionStrategy(context.Resolve <IComponentContext>()))
            .As <IManualInjectionStrategy>()
            .SingleInstance();

            BuiltContainerResolver = AutofacContainerBuilder.Build();
        }
Ejemplo n.º 5
0
        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            var builder = new AutofacContainerBuilder();
            var providerConfiguration = Configuration.GetSection("Vedaantees").Get <ProviderConfiguration>();

            providerConfiguration.ModulesFolder = string.Empty;

            var bootstrapper = new ProviderBootstrapper(builder, providerConfiguration);

            bootstrapper.Load(_env);

            services.AddMvc().AddRazorOptions(options =>
            {
                options.ViewLocationFormats.Clear();
                options.ViewLocationFormats.Add("/Presentation/{0}.cshtml");
            });
            services.TryAddSingleton <IHttpContextAccessor, HttpContextAccessor>();
            services.AddIdentityServer()
            .AddDeveloperSigningCredential()
            .AddInMemoryIdentityResources(IdentityServerConfiguration.GetIdentityResources())
            .AddInMemoryApiResources(IdentityServerConfiguration.GetApiResources())
            .AddInMemoryClients(IdentityServerConfiguration.GetClients(Configuration.GetSection("Clients").Get <List <string> >()));

            services.AddTransient <IResourceOwnerPasswordValidator, UserStore>()
            .AddTransient <IProfileService, UserStore>();

            builder.RegisterInstance <IConfiguration>(Configuration);
            builder.Builder.Populate(services);
            ApplicationContainer = builder.Build();
            bootstrapper.InitializeFramework(ApplicationContainer);
            return(new AutofacServiceProvider(ApplicationContainer));
        }
        public static Autofac.IContainer BuildContainer()
        {
            var containerBuilder = new AutofacContainerBuilder();

            //var bootstrapper = new ProviderBootstrapper(containerBuilder); //MockBuilder.BuildConfiguration()
            //bootstrapper.Load();
            return(containerBuilder.Build());
        }
Ejemplo n.º 7
0
        private void AutofacConfiguration()
        {
            var config = GlobalConfiguration.Configuration;

            var builder   = new AutofacContainerBuilder();
            var container = builder.BuildContainer();

            config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
        }
Ejemplo n.º 8
0
        public void ResolveInstance()
        {
            var containerBuilder = new AutofacContainerBuilder();

            containerBuilder.RegisterInstance <ITestInterfaceForContainer>(new TestInterfaceForContainer());
            var container = containerBuilder.Build();
            var instance  = container.Resolve <ITestInterfaceForContainer>();

            Assert.AreEqual(instance.GetType(), typeof(TestInterfaceForContainer));
        }
Ejemplo n.º 9
0
        public void ResolveByFunc()
        {
            var containerBuilder = new AutofacContainerBuilder();

            containerBuilder.RegisterPerRequest <ITestInterfaceForContainer, TestInterfaceForContainer>(context => new TestInterfaceForContainer());
            var container = containerBuilder.Build();
            var instance  = container.Resolve <ITestInterfaceForContainer>();

            Assert.AreEqual(instance.GetType(), typeof(TestInterfaceForContainer));
        }
Ejemplo n.º 10
0
        public void ResolveTypesByThierInterfaces()
        {
            var containerBuilder = new AutofacContainerBuilder();

            containerBuilder.RegisterTypesByThierInterfaces(GetType().Assembly);
            var container = containerBuilder.Build();
            var instance  = container.Resolve <ITestGenericInterface <ITestInterfaceForContainer> >();

            Assert.AreEqual(instance.GetType(), typeof(TestGeneric));
        }
        public override void OnUsing(AppModuleUsingArguments args)
        {
            AutofacContainerBuilder builder = args.AppSetup.GetAppContainerBuilder <AutofacContainerBuilder>();

            builder.Building += Builder_Building;

            ConfigAppContainerBuilder configBuilder = args.AppSetup.GetAppContainerBuilder <ConfigAppContainerBuilder>();

            configBuilder.ConfigObjectRegisted += ConfigBuilder_ConfigObjectRegisted;
        }
Ejemplo n.º 12
0
        public void AutofacContainerBuilder_WithTests_ForFactory_ThrowsException()
        {
            //Arrange
            var builder = new AutofacContainerBuilder();

            //Act
            Assert.Throws <TypeAccessException>(
                () => builder.ForFactory(x => new Foo())
                .WithResolvedParam(x => (string)null));
        }
Ejemplo n.º 13
0
        public void ResolveTransient()
        {
            var containerBuilder = new AutofacContainerBuilder();

            containerBuilder.RegisterTransient <ITestGenericInterface <ITestInterfaceForContainer>, TestGeneric>();
            var container = containerBuilder.Build();
            var instance  = container.Resolve <ITestGenericInterface <ITestInterfaceForContainer> >();

            Assert.AreEqual(instance.GetType(), typeof(TestGeneric));
        }
Ejemplo n.º 14
0
        public void ResolveByMultipleFuncInstance()
        {
            var containerBuilder = new AutofacContainerBuilder();

            containerBuilder.RegisterSingleton <ITestInterfaceForContainer, IOtherTestInterfaceForContainer, TestInterfaceForContainer>(context => new TestInterfaceForContainer());
            var container = containerBuilder.Build();
            var instance  = container.Resolve <IOtherTestInterfaceForContainer>();

            Assert.AreEqual(instance.GetType(), typeof(TestInterfaceForContainer));
        }
        public override void OnUsing(AppModuleUsingArguments arguments)
        {
            var setup        = arguments.AppSetup;
            var targetModule = arguments.TargetAppModule;
            var infos        = arguments.ScannedAttributeAndTypeInfos;

            AutofacContainerBuilder autofacContainerBuilder
                = setup.GetAppContainerBuilder <AutofacContainerBuilder>();

            RegisterScanResult(setup, targetModule, autofacContainerBuilder, infos);
        }
Ejemplo n.º 16
0
        public static IContainerBuilder Init()
        {
            var builder = new AutofacContainerBuilder();

            builder.Register<IMotorcyclePayload>(new MotorcyclePayload());

            builder.Register<IStartViewModel, StartViewModel>();
            builder.Register<IEditMotorcycleViewModel, EditMotorcycleViewModel>();

            return builder;
        }
        public void AutofacContainerBuilderTests_ForInstanceOfType_RegisteredTypeResoslvable()
        {
            //Arrange
            var autofacContainerBuilder = new AutofacContainerBuilder();

            //Act
            autofacContainerBuilder.ForInstanceOfType(new Foo());
            var resolver = autofacContainerBuilder.Build();

            //Assert
            Assert.IsNotNull(resolver.Resolve <Foo>());
        }
Ejemplo n.º 18
0
		public void TestInitialize()
		{
			_realAutofacBuilder = new ContainerBuilder();
			_realNinjectKernel = new StandardKernel();
			_autofacContainer = new AutofacContainerBuilder(_realAutofacBuilder);
			_ninjectContainer = new NinjectContainerBuilder(_realNinjectKernel);

			// Temp - fake registration of IUnitOfWork etc.
        // TODO: Re-enable once implementation has been rewritten
      //_realAutofacBuilder.RegisterType<AutoMapperTypeMapper>().As<ITypeMapper>().SingleInstance();
      //_realNinjectKernel.Bind<ITypeMapper>().To<AutoMapperTypeMapper>().InSingletonScope();
		}
        public void AutofacContainerBuilder_ForFactoryTests_ForFactory_RegisteredTypeComesFromDelegate()
        {
            //Arrange
            var autofacContainerBuilder = new AutofacContainerBuilder();

            //Act
            autofacContainerBuilder.ForFactory(x => new Foo());
            var resolver = autofacContainerBuilder.Build();

            //Assert
            Assert.IsNotNull(resolver.Resolve <Foo>());
        }
        public void TestInitialize()
        {
            _realAutofacBuilder = new ContainerBuilder();
            _realNinjectKernel  = new StandardKernel();
            _autofacContainer   = new AutofacContainerBuilder(_realAutofacBuilder);
            _ninjectContainer   = new NinjectContainerBuilder(_realNinjectKernel);

            // Temp - fake registration of IUnitOfWork etc.
            // TODO: Re-enable once implementation has been rewritten
            //_realAutofacBuilder.RegisterType<AutoMapperTypeMapper>().As<ITypeMapper>().SingleInstance();
            //_realNinjectKernel.Bind<ITypeMapper>().To<AutoMapperTypeMapper>().InSingletonScope();
        }
Ejemplo n.º 21
0
 protected void Application_Start()
 {
     log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(Server.MapPath("~/Configs/Log4net.config")));
     AutofacContainerBuilder.BuildContainer();
     using (var dbcontext = new WisdomScenicDbContext("WisdomScenicDbContextWrite"))
     {
         var objectContext     = ((IObjectContextAdapter)dbcontext).ObjectContext;
         var mappingCollection = (StorageMappingItemCollection)objectContext.MetadataWorkspace.GetItemCollection(DataSpace.CSSpace);
         mappingCollection.GenerateViews(new List <EdmSchemaError>());
     }
     GlobalConfiguration.Configure(WebApiConfig.Register);
 }
        public void AutofacContainerBuilderTests_TypesRegistrableAsSelf_NewAPI()
        {
            //Arrange
            var autofacContainerBuilder = new AutofacContainerBuilder();

            //Act
            autofacContainerBuilder.For(typeof(Foo));
            var dependencyResolver = autofacContainerBuilder.Build();

            //Assert
            Assert.IsNotNull(dependencyResolver.Resolve <Foo>());
        }
        public void AutofacContainerBuilderTests_TypesRegistrableUsingImplementation()
        {
            //Arrange
            var autofacContainerBuilder = new AutofacContainerBuilder();

            //Act
            autofacContainerBuilder.ForInstanceOfType(new Foo())
            .KnownAs(typeof(IFoo));
            var dependencyResolver = autofacContainerBuilder.Build();

            //Assert
            Assert.IsNotNull(dependencyResolver.Resolve <IFoo>());
        }
        public void AutofacContainerBuilderTests_TypesRegistrableAsInterfaces()
        {
            //Arrange
            var autofacContainerBuilder = new AutofacContainerBuilder();

            //Act
            autofacContainerBuilder.For <Foo>()
            .KnownAs <IFoo>();
            var dependencyResolver = autofacContainerBuilder.Build();

            //Assert
            Assert.IsNotNull(dependencyResolver.Resolve <IFoo>());
        }
        public void DependencyRegistrarExtensions_KnwonAsSelf_RegistersTypeAsItself()
        {
            //Arrange
            var builder = new AutofacContainerBuilder();

            //Act
            builder.For(typeof(Foo))
            .KnownAsSelf();
            var resolver = builder.Build();

            //Assert
            Assert.IsNotNull(resolver.Resolve <Foo>());
        }
Ejemplo n.º 26
0
        /// <summary>
        ///     Главная точка входа для приложения.
        /// </summary>
        private static void Main()
        {
            SetConfiguration();
            var container  = AutofacContainerBuilder.BuildContainer();
            var winService = container.Resolve <IWinServiceStatusSender>();

            ServiceBase[] ServicesToRun;
            ServicesToRun = new ServiceBase[]
            {
                new IntelStatusSenderService(winService)
            };
            ServiceBase.Run(ServicesToRun);
        }
Ejemplo n.º 27
0
        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            var builder = new AutofacContainerBuilder();
            var providerConfiguration = Configuration.GetSection("Vedaantees").Get <ProviderConfiguration>();
            var bootstrapper          = new ProviderBootstrapper(builder, providerConfiguration);

            bootstrapper.Load(_env);


            builder.Builder.Populate(services);
            ApplicationContainer = builder.Build();
            bootstrapper.InitializeFramework(ApplicationContainer);
            return(new AutofacServiceProvider(ApplicationContainer));
        }
        public void TestSendEmailTask()
        {
            var containerBuilder = new AutofacContainerBuilder();
            var bootstrapper     = new ProviderBootstrapper(containerBuilder, MockBuilder.BuildConfiguration());
            var methodResult     = bootstrapper.Load(new MockHosting());

            var container = containerBuilder.Build();

            bootstrapper.InitializeFramework(container);
            var sendEmailTask = container.Resolve <SendEmailTask>();
            var result        = sendEmailTask.Execute().Result;

            Assert.AreEqual(result.MethodResultState, MethodResultStates.Successful);
        }
        public void AutofacContainerBuilderTests_NamedRegistration_ResolvableByName()
        {
            //Arrange
            var builder = new AutofacContainerBuilder();

            //Act
            builder.ForInstanceOfType(new Foo())
            .Named <Foo>("name")
            ;
            var resolver = builder.Build();

            //Assert
            Assert.IsNotNull(resolver.Resolve <Foo>("name"));
        }
        /// <summary>
        /// 从 <see cref="IAppModule"/> 实例的方法中创建组件,
        /// 这些方法必须被标记 <see cref="ComponentAttribute"/> 特征。
        /// </summary>
        /// <param name="targetModule"></param>
        /// <param name="autofacContainerBuilder"></param>
        private static void ReplaceComponentFromMethods(IAppModule targetModule, AutofacContainerBuilder autofacContainerBuilder)
        {
            var methods = targetModule.GetType().GetMethods()
                          .Where(x => x.ReturnType != typeof(void))
                          .Select(x => new { Method = x, Attribute = x.GetCustomAttribute <ReplaceCreatorAttribute>() })
                          .Where(x => x.Attribute != null)
                          .Select(x => x.Method);

            foreach (var method in methods)
            {
                RemoveService(targetModule, autofacContainerBuilder, method);
            }
            //RegisterMethods(targetModule, autofacContainerBuilder, methods);
        }
Ejemplo n.º 31
0
        private void IocConfiguration()
        {
            var builder = new AutofacContainerBuilder(null).Get();

            builder.RegisterControllers(typeof(ReplaysController).Assembly);

            RegisterSecurity(builder);

            var container = builder.Build();

            System.Web.Mvc.DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            /*var dbService = container.Resolve<IDatabaseService>();
             * dbService.DropCreateAndInit(null);*/
        }
        public void UmbracoAreaRegistrationReceivesMetadataFromIoC()
        {
            var codeBase = Assembly.GetExecutingAssembly().CodeBase;
            var uri = new Uri(codeBase);
            var path = uri.LocalPath;
            var binFolder = Path.GetDirectoryName(path);
            var settingsFile = new FileInfo(Path.Combine(binFolder, "web.config"));

            var autofacBuilder = new AutofacContainerBuilder();

            autofacBuilder.ForFactory(
                context => new UmbracoSettings(settingsFile))
                .KnownAsSelf();

            autofacBuilder.For<UmbracoAreaRegistration>()
                .KnownAsSelf()
                .WithResolvedParam(context => context.Resolve<IRouteHandler>("TreeRouteHandler"));

            //why is this here? 

            var typeFinder = new TypeFinder();
            var componentRegistrar = new UmbracoComponentRegistrar();
            componentRegistrar.RegisterEditorControllers(autofacBuilder, typeFinder);
            componentRegistrar.RegisterMenuItems(autofacBuilder, typeFinder);
            //componentRegistrar.RegisterPackageActions(autofacBuilder, typeFinder);
            componentRegistrar.RegisterPropertyEditors(autofacBuilder, typeFinder);
            componentRegistrar.RegisterSurfaceControllers(autofacBuilder, typeFinder);
            componentRegistrar.RegisterTreeControllers(autofacBuilder, typeFinder);

            //build the container
            var container = autofacBuilder.Build();

            var result = container.Resolve<UmbracoAreaRegistration>();

            Assert.IsNotNull(result);
        }
Ejemplo n.º 33
0
        private static void Main(string[] args)
        {
            var binarySerializer = new DefaultBinarySerializer();

            var hostName = "127.0.0.1";
            var port = 5672;
            var userName = "******";
            var password = "******";
            var virtualName = "/";

            var endPoint = new RemoteEndpoint(hostName, virtualName, userName, password, port);

            var exChangeName = typeof(CreateUserCommand).Assembly.GetName().Name;

            var routingKey = MessageUtils.CurrentResponseRoutingKey;

            var responseRoutingKey = MessageUtils.CurrentResponseRoutingKey;

            var consumerContext = new ConsumerContext(exChangeName, responseRoutingKey, responseRoutingKey, routingKey, true);

            var channelPools = new CommunicateChannelFactoryPool(endPoint);

            var consumer = new PushMessageConsumer(channelPools, binarySerializer, consumerContext, new MessageResponseHandler());

            consumer.Start();

            var containerBuilder = new AutofacContainerBuilder();

            containerBuilder.RegisterInstance(channelPools);
            containerBuilder.RegisterInterface<IBinarySerializer, DefaultBinarySerializer>();

            DependencyResolver.SetResolver(new DefaultDependencyResolver(containerBuilder.Build()));

            var requestChannelPools = new RequestChannelPools();

            var commandTopicProvider = new UserTopicProvider();

            var commandService = new CommandService(requestChannelPools, commandTopicProvider);

            Console.WriteLine("begin to receive the result message");

            Stopwatch watch = new Stopwatch();
            watch.Start();

            for (var i = 0; i < 10000; i++)
            {
                var command = new CreateUserCommand(
                 "天涯狼" + DateTime.Now.ToString("yyyyMMddHHmmsss"),
                 DateTime.Now.ToString("yyyyMMddHHmmsss"),
                 true,
                 22);

                var commandResult = commandService.Send(command, 20);

                Console.WriteLine("message:{0} and number is {1}", commandResult.Message, i);
            }

            watch.Stop();

            Console.WriteLine("message:{0} ", watch.ElapsedMilliseconds);
            Console.ReadLine();
        }
Ejemplo n.º 34
0
        private static void Main(string[] args)
        {
            var containerBuilder = new AutofacContainerBuilder();

            var binarySerializer = new DefaultBinarySerializer();

            var eventHandleInitializer = new EventHandleProvider();
            eventHandleInitializer.Initialize(Assembly.GetExecutingAssembly(), Assembly.Load("Seven.Tests"));

            var commandInitializer = new CommandHandleProvider();
            commandInitializer.Initialize(Assembly.Load("Seven.Tests"));

            var messageTypeProvider = new MessageTypeProvider();
            messageTypeProvider.Initialize(Assembly.GetExecutingAssembly(), Assembly.Load("Seven.Tests"));

            containerBuilder.RegisterInstance(eventHandleInitializer);
            containerBuilder.RegisterInstance(commandInitializer);
            containerBuilder.RegisterInstance(messageTypeProvider);

            var mysqlEventStore = new MySqlEventStore(_mysqlConnection);

            var snapshotStorage = new MysqlSnapshotStorage(_mysqlConnection);

            var aggregateRootStorage = new MysqlAggregateRootStorage(_mysqlConnection);

            var aggregateRootMemory = new AggregateRootMemoryCache();

            var nonEventSouringRepository = new NonEventSouringRepository(aggregateRootStorage, binarySerializer);

            var eventSouringRepository = new EventSouringRepository(mysqlEventStore, snapshotStorage, binarySerializer,
                aggregateRootMemory);

            var endPoint = new RemoteEndpoint("127.0.0.1", "/", "guest", "guest", 5672);

            var exChangeName = typeof(CreateUserCommand).Assembly.GetName().Name; ;

            var responseRoutingKey = MessageUtils.CurrentResponseRoutingKey;

            var channelPools = new CommunicateChannelFactoryPool(endPoint);

            containerBuilder.RegisterInstance(channelPools);
            containerBuilder.RegisterInterface<IBinarySerializer, DefaultBinarySerializer>();

            DependencyResolver.SetResolver(new DefaultDependencyResolver(containerBuilder.Build()));

            var requestChannelPools = new RequestChannelPools();

            var commandTopicProvider = new UserTopicProvider();

            var eventTopicProvider = new UserEEventTopicProvider();

            var eventPublisher = new EventPublisher(requestChannelPools, eventTopicProvider);

            var commandProssor = new DefaultCommandProssor(mysqlEventStore, eventSouringRepository, commandInitializer, eventPublisher, snapshotStorage, binarySerializer);

            var messageHandler = new MessageRequestHandler(commandProssor);

            for (var i = 0; i < 5; i++)
            {
                var routingKey = string.Format("{0}_{1}_{2}", exChangeName, "command", i);

                var consumerContext = new ConsumerContext(exChangeName, routingKey, routingKey, responseRoutingKey, false, true);

                var consumer = new PushMessageConsumer(channelPools, binarySerializer, consumerContext, messageHandler);

                consumer.Start();

                Console.WriteLine("Started.");
            }

            for (var i = 0; i < 5; i++)
            {
                var routingKey = string.Format("{0}_{1}_{2}", exChangeName, "event", i);

                var consumerContext = new ConsumerContext(exChangeName, routingKey, routingKey, responseRoutingKey, false, true);

                var consumer = new PushMessageConsumer(channelPools, binarySerializer, consumerContext, messageHandler);

                consumer.Start();

                Console.WriteLine("Started.");
            }

            Console.WriteLine("begin to consumer the message.");

            Console.ReadLine();
        }