/// <summary> /// Точка входа. /// </summary> /// <param name="args">Аргументы.</param> private static void Main(string[] args) { var message = new { Token = "token", ServiceName = "ServiceName", Message = new { TemplateName = "middleunless", From = Guid.NewGuid().ToString(), To = new List <string> { Guid.NewGuid().ToString() } } }; var tokenSource = new CancellationTokenSource(); var emailRabbitConfiguration = new RabbitConfiguration { Host = "localhost", UserName = "******", Password = "******", QueueName = "EmailQueue", ExchangeName = "EmailExchange" }; var sender = new RabbitMessageSender <object>(emailRabbitConfiguration); Task.WaitAll(sender.SendMessageAsync(message, tokenSource.Token)); }
public static void InitServices(this IServiceCollection services, IConfiguration configuration, Microsoft.AspNetCore.Hosting.IHostingEnvironment env) { services.AddSingleton <IHostedService, EmailReceiverService>(provider => RabbitBackgroundReceiver <EmailMessage> .Factory <EmailReceiverService>( RabbitServices.EMAIL, env.IsDevelopment() ? RabbitEnv.DEV : RabbitEnv.PROD, services) ); services.AddTransient <EmailMessageSender>(provider => RabbitMessageSender <EmailMessage> .Factory <EmailMessageSender>(RabbitEnv.DEV, RabbitServices.EMAIL, services)); }
/// <summary> /// Конструктор. /// </summary> /// <param name="baseAdress">Адрес сервера.</param> public NotificationsRabbitMqClient(string baseAdress) { var configuration = new RabbitConfiguration { Host = baseAdress, UserName = "******", Password = "******", QueueName = "EmailQueue", ExchangeName = "EmailExchange", }; sender = new RabbitMessageSender <object>(configuration); }