コード例 #1
0
ファイル: Program.cs プロジェクト: barbatron/converge
        private static IContainer BootstrapContainer(TransportSettings transportSettings, string appNameBase)
        {
            ObjectFactory.Initialize(cfg =>
                {
                    cfg.AddRegistry<CentralMonRegistry>();

                    cfg.For<TransportSettings>().Singleton().Use(transportSettings);

                    cfg.For<IServiceBus>().Use(context => ServiceBusFactory.New(sbc =>
                    {
                        string rcvQueueUri = transportSettings.GetQueueUri(appNameBase);
                        sbc.ReceiveFrom(rcvQueueUri);

                        transportSettings.ApplyGlobalConfig(sbc);

                        sbc.UseControlBus();

                        sbc.Subscribe(sub =>
                            {
                                sub.LoadFrom(ObjectFactory.Container);
                            });

                    }));

                });

            var container = ObjectFactory.Container;
            CentralMonRegistry.Build(container);
            return container;
        }