发送消息源码:
string message = "Hello Word!";
var body = Encoding.UTF8.GetBytes(message);
//消息属性
var properties = channel.CreateBasicProperties();
properties.Persistent = true; //消息持久化
properties.Priority = 1;//设置优先级
properties.ContentType = "";//MIME类型
//包含消息头
IDictionary<string, object> Headers = new Dictionary<string, object>();
Headers.Add("localtion", "here");
Headers.Add("time", "today");
properties.Headers = Headers;
//消息过期规范
properties.Expiration = "60000";
//发送消息01
channel.BasicPublish(EXCHANGE_NAME, ROUTING_KEY, properties, body);
public static void BasicPublish(this IModel model, string exchange, string routingKey, IBasicProperties basicProperties, byte[] body);
参数说明:
exchange:交换器名称
routingKey:路由键
basicProperties:消息属性
body:消息体
其中basicProperties消息属性主要介绍如下:
properties.Persistent = true; //true为消息持久化,false为非持久化
properties.Priority = 1;//设置优先级,可以只是0-9
properties.ContentType = "text/plain";//可以设置MIME类型
properties.Headers = Headers;// //包含消息头
properties.Expiration = "60000";//消息过期规范