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); }
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); }