예제 #1
0
        private static IBusControl BusControl()
        {
            var bus = Bus.Factory.CreateUsingAzureServiceBus(sbc =>
            {
                var serviceUri = ServiceBusEnvironment.CreateServiceUri("sb",
                                                                        ConfigurationManager.AppSettings["AzureSbNamespace"],
                                                                        ConfigurationManager.AppSettings["AzureSbPath"]);

                var host = ServiceBusBusFactoryConfiguratorExtensions.Host(sbc, serviceUri,
                                                                           h =>
                {
                    h.TokenProvider = TokenProvider.CreateSharedAccessSignatureTokenProvider(
                        ConfigurationManager.AppSettings["AzureSbKeyName"],
                        ConfigurationManager.AppSettings["AzureSbSharedAccessKey"], TimeSpan.FromDays(1),
                        TokenScope.Namespace);
                });

                sbc.ReceiveEndpoint(host, "web.dev.endpoint", e =>
                {
                    // Configure your consumer(s)
                    ConsumerExtensions.Consumer <SignalRHandler>(e);
                    e.DefaultMessageTimeToLive = TimeSpan.FromMinutes(1);
                    e.EnableDeadLetteringOnMessageExpiration = false;
                });
            });

            return(bus);
        }
예제 #2
0
        public static IBusControl InitReceiverBus <T>(string endpoint) where T : class, IConsumer, new()
        {
            return(Bus.Factory.CreateUsingRabbitMq(sbc =>
            {
                IRabbitMqHost host = sbc.Host(
                    new Uri(url.Replace("amqp://", "rabbitmq://")),
                    hst =>
                {
                    hst.Username(ConfigurationManager.AppSettings["RabbitUsername"]);
                    hst.Password(ConfigurationManager.AppSettings["RabbitPassword"]);
                });

                sbc.ReceiveEndpoint(host, endpoint, e =>
                {
                    // Configure your consumer(s)
                    ConsumerExtensions.Consumer <T>(e);
                });
            }));
        }
예제 #3
0
        protected override void Load(ContainerBuilder builder)
        {
            // Creates our bus from the factory and registers it as a singleton against two interfaces
            builder.Register(c => Bus.Factory.CreateUsingAzureServiceBus(sbc =>
            {
                var serviceUri = ServiceBusEnvironment.CreateServiceUri("sb", ConfigurationManager.AppSettings["AzureSbNamespace"], ConfigurationManager.AppSettings["AzureSbPath"]);

                var host = ServiceBusBusFactoryConfiguratorExtensions.Host(sbc, serviceUri, h =>
                {
                    h.TokenProvider = TokenProvider.CreateSharedAccessSignatureTokenProvider(ConfigurationManager.AppSettings["AzureSbKeyName"], ConfigurationManager.AppSettings["AzureSbSharedAccessKey"], TimeSpan.FromDays(1), TokenScope.Namespace);
                });

                sbc.ReceiveEndpoint(host, ConfigurationManager.AppSettings["ServiceQueueName"], e =>
                {
                    // Configure your consumer(s)
                    ConsumerExtensions.Consumer <SignalRHandler>(e);
                    e.DefaultMessageTimeToLive = TimeSpan.FromMinutes(1);
                    e.EnableDeadLetteringOnMessageExpiration = false;
                });
            }))
            .SingleInstance()
            .As <IBusControl>()
            .As <IBus>();
        }
예제 #4
0
        public void Register(ContainerBuilder builder)
        {
            builder.Register(context =>
            {
                return(Bus.Factory.CreateUsingAzureServiceBus(sbc =>
                {
                    var serviceUri = ServiceBusEnvironment.CreateServiceUri("sb",
                                                                            ConfigurationManager.AppSettings["AzureSbNamespace"],
                                                                            ConfigurationManager.AppSettings["AzureSbPath"]);

                    var host = ServiceBusBusFactoryConfiguratorExtensions.Host(sbc, serviceUri,
                                                                               h =>
                    {
                        h.TokenProvider = TokenProvider.CreateSharedAccessSignatureTokenProvider(
                            ConfigurationManager.AppSettings["AzureSbKeyName"],
                            ConfigurationManager.AppSettings["AzureSbSharedAccessKey"], TimeSpan.FromDays(1),
                            TokenScope.Namespace);
                    });

                    sbc.ReceiveEndpoint(host, "denormalizer.dev.endpoint", e =>
                    {
                        // Configure your consumer(s)
                        ConsumerExtensions.Consumer <DenormalizerHandler>(e);
                        e.DefaultMessageTimeToLive = TimeSpan.FromMinutes(1);
                        e.EnableDeadLetteringOnMessageExpiration = false;
                    });
                }));
            })
            .SingleInstance()
            .As <IBusControl>()
            .As <IBus>();
            //builder.RegisterType<SmartFleetObjectContext>().As<SmartFleetObjectContext>();
            builder.RegisterType <DbContextScopeFactory>().As <IDbContextScopeFactory>();

            Container = builder.Build();
        }