Пример #1
0
        /// <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));
        }
Пример #2
0
        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);
        }