using EasyNetQ; /******************************************************************************** ** auth: DBS ** date: 2018/11/14 22:08:05 ** desc: 尚未编写描述 ** Ver.: V1.0.0 *********************************************************************************/ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HH.WMS.Common.RabbitMQ { public class MQHelper { static IBus inBus = null; static IBus outBus = null; /// /// 发送消息 /// public static void Publish(Message msg) { //// 创建消息bus if (inBus == null || !inBus.IsConnected) inBus = BusBuilder.CreateMessageBus(); try { inBus.Publish(msg, x => x.WithTopic(msg.MessageRouter)); } catch (EasyNetQException ex) { //处理连接消息服务器异常 } //bus.Dispose();//与数据库connection类似,使用后记得销毁bus对象 } /// /// 接收消息 /// /// public static void Subscribe(Message msg, IProcessMessage ipro) { //// 创建消息bus if (outBus == null || !outBus.IsConnected) outBus= BusBuilder.CreateMessageBus(); try { outBus.Subscribe(msg.MessageRouter, message => ipro.ProcessMsg(message), x => x.WithTopic(msg.MessageRouter)); } catch (EasyNetQException ex) { //处理连接消息服务器异常 } } } }