コード例 #1
0
        public Task PublishAsync(Event @event)
        {
            return(Task.Run(() =>
            {
                var policy = GetRetryPolicy(_retryCount, (ex, time) =>
                {
                    //Log the exception here when RabbitMQ channel could not publish message
                });

                using (var channel = _rabbitMQConnection.GetChannel())
                {
                    channel.ExchangeDeclare(exchange: BROKER_NAME, type: ExchangeType.Direct);

                    policy.Execute(() => BasicPublish(@event, channel));
                }
            }));
        }