public void EnviaMensajes(EstrategiaDTO estrategia) { foreach (var tipoPrueba in estrategia.TipoPruebas) { MQTipoPruebaController mqTipoPruebaController = new MQTipoPruebaController(); var mqTipoPrueba = mqTipoPruebaController.SelectMQTipoPrueba(tipoPrueba.MQTipoPrueba.ID).First(); EstrategiaDTO estrategiaNew = new EstrategiaDTO() { Estrategia_ID = estrategia.Estrategia_ID, Nombre = estrategia.Nombre, Aplicacion = estrategia.Aplicacion, Estado = estrategia.Estado }; estrategiaNew.TipoPruebas.Add(tipoPrueba); String jsonified = JsonConvert.SerializeObject(estrategiaNew); byte[] estrategiaBuffer = Encoding.UTF8.GetBytes(jsonified); using (var conn = ConnectionRabbitMQ()) { IModel model = conn.CreateModel(); model.BasicPublish(exchange: "Dispather", routingKey: mqTipoPrueba.RouteKey, basicProperties: null, body: estrategiaBuffer ); } } }
/// <summary> /// Crea las colas en caso que no existan. /// </summary> public void CrearColas() { MQTipoPruebaController mQTipoPruebaController = new MQTipoPruebaController(); var listQueues = mQTipoPruebaController.SelectMQTipoPrueba(0); string exchange = "Dispather"; foreach (var queue in listQueues) { using (var conn = ConnectionRabbitMQ()) { IModel modelRabbit = conn.CreateModel(); //Declaración del exchange, que juega el papel del dispatcher modelRabbit.ExchangeDeclare(exchange, ExchangeType.Direct); //Declaración de la cola modelRabbit.QueueDeclare(queue.QueueName, true, false, false, null); //Union entre el dispatcher y la cola modelRabbit.QueueBind(queue.QueueName, exchange, queue.RouteKey, null); } } }