public void EnviarParaFila(IConfigQueueRabbitMQ configuracaoDeEnvio, ObjetoParaEnvioEmJson objetoParaEnvioEmJson) { try { using (var connection = _fabricaDeConexoes.CreateConnection()) using (var channel = connection.CreateModel()) { channel.QueueDeclare( queue: configuracaoDeEnvio.Queue, durable: configuracaoDeEnvio.Durable, exclusive: configuracaoDeEnvio.Exclusive, autoDelete: configuracaoDeEnvio.AutoDelete, arguments: configuracaoDeEnvio.Arguments ); var json = JsonConvert.SerializeObject(objetoParaEnvioEmJson); var body = Encoding.UTF8.GetBytes(json); channel.BasicPublish( exchange: configuracaoDeEnvio.Exchange, routingKey: configuracaoDeEnvio.RoutingKey, basicProperties: null, body: body ); } } catch (System.Exception ex) { throw ex; } }
public ReceberDaFilaBase( IConfigQueueRabbitMQ configuracaoParaRecebimento, IServicoDeDominioParaProcessamentoDeFilaBase <ObjetoRecebidoEmJson> servicoDeDominio ) { _configuracao = new ConfigRabbitMQ(); _fabricaDeConexoes = new ConnectionFactory { HostName = _configuracao.HostName, UserName = _configuracao.UserName, Password = _configuracao.Password, RequestedHeartbeat = _configuracao.RequestedHeartbeat }; _configuracaoParaRecebimento = configuracaoParaRecebimento; _servicoDeDominio = servicoDeDominio; _conexao = _fabricaDeConexoes.CreateConnection(); _conexao.ConnectionShutdown += RabbitMQ_ConnectionShutdown; _canal = _conexao.CreateModel(); _canal.QueueDeclare( queue: _configuracaoParaRecebimento.Queue, durable: _configuracaoParaRecebimento.Durable, exclusive: _configuracaoParaRecebimento.Exclusive, autoDelete: _configuracaoParaRecebimento.AutoDelete, arguments: _configuracaoParaRecebimento.Arguments ); }