Example #1
0
        private static ServiceBus CreateInstance <T>(ServiceBusSettings settings, ILifetimeScope rootScope)
            where T : class, IConsumerBusType
        {
            var bus = Create(rootScope, settings,
                             ReceiveEndpointConfiguratorFactory.Create <T, DefaultRoutingType>(rootScope),
                             ReceiveEndpointConfiguratorFactory.Create <T, FanoutRoutingType>(rootScope));

            var name = typeof(T) == typeof(DefaultBusType) ? "Service bus" : "Interop service bus";

            return(new ServiceBus(bus, name));
        }
        protected override void Load(ContainerBuilder builder)
        {
            builder.Register(context =>
            {
                var rootScope = context.Resolve <ILifetimeScope>();

                var bus = AzureServiceBusInitiator.Create(context, settingsDelegate(context),
                                                          ReceiveEndpointConfiguratorFactory.Create <InteropBusType, DefaultRoutingType>(rootScope),
                                                          ReceiveEndpointConfiguratorFactory.Create <InteropBusType, FanoutRoutingType>(rootScope));

                return(new ServiceBus(bus, "Interop service bus"));
            })
            .As <IInteropServiceBus>()
            .SingleInstance();
        }