示例#1
0
        static async Task MainAsync()
        {
            var serviceProvider = new ServiceCollection()
                                  .AddLogging(c => c.AddConsole().AddDebug())
                                  .BuildServiceProvider();

            var loggerFactory  = serviceProvider.GetService <ILoggerFactory>();
            var loggerPipeline = loggerFactory.CreateLogger <ISenderPipelineFor <MessageForProducer> >();
            var loggerSender   = loggerFactory.CreateLogger <ISenderFor <MessageForProducer> >();

            var connectionString = "";
            var topicName        = "topic-message";

            var sender = new SenderPipelineBuilderFor <MessageForProducer>()
                         .WithLogger(loggerSender)
                         .WithLogger(loggerPipeline)
                         .WithAzureServiceBus(connectionString, topicName).Build();

            do
            {
                Console.WriteLine("Enter message for azure service bus (or quit to exit)");
                Console.Write("> ");
                string value = Console.ReadLine();

                if ("quit".Equals(value, StringComparison.OrdinalIgnoreCase))
                {
                    break;
                }

                await sender.SendAsync(new MessageForProducer { Nome = value });
            }while (true);
        }
示例#2
0
        static async Task MainAsync()
        {
            var serviceProvider = new ServiceCollection()
                                  .AddLogging(c => c.AddConsole().AddDebug())
                                  .BuildServiceProvider();

            var loggerFactory  = serviceProvider.GetService <ILoggerFactory>();
            var loggerPipeline = loggerFactory.CreateLogger <ISenderPipelineFor <MessageForProducer> >();
            var loggerSender   = loggerFactory.CreateLogger <ISenderFor <MessageForProducer> >();
            var hostName       = "localhost";
            var port           = 5672;
            var userName       = "******";
            var password       = "******";
            var credentials    = new CredentialsRabbitMQ(hostName, port, userName, password);
            var exchange       = "exchange-message";

            var sender = new SenderPipelineBuilderFor <MessageForProducer>()
                         .WithRabbitMq(credentials, exchange)
                         .WithLogger(loggerPipeline)
                         .WithLogger(loggerSender).Build();

            do
            {
                Console.WriteLine("Enter message for rabbitMQ (or quit to exit)");
                Console.WriteLine("Enter message (or quit to exit)");
                Console.Write("> ");
                string value = Console.ReadLine();

                if ("quit".Equals(value, StringComparison.OrdinalIgnoreCase))
                {
                    break;
                }

                await sender.SendAsync(new MessageForProducer { Nome = value });
            }while (true);
        }
 public static SenderPipelineBuilderFor <T> WithAzureServiceBus <T>(this SenderPipelineBuilderFor <T> builder, string connectionString, string topic)
 {
     builder.WithSender((logger) => new SenderAzureServiceBusFor <T>(connectionString, topic, logger));
     return(builder);
 }
 public static SenderPipelineBuilderFor <T> WithRabbitMq <T>(this SenderPipelineBuilderFor <T> builder, CredentialsRabbitMQ credentials, string exchange)
 {
     builder.WithSender((logger) => new SenderRabbitMQFor <T>(credentials, exchange, logger));
     return(builder);
 }