【发布时间】:2017-02-24 22:01:57
【问题描述】:
我在C#中有以下代码,如果路由键无效,它不会抛出错误。
var connFactory = GetConnectionFactory();
using (var conn = connFactory.CreateConnection())
{
using (var channel = conn.CreateModel())
{
channel.TxSelect();
var publicationAddress = new PublicationAddress(ExchangeType.Direct, Settings.ServiceBusExchange, Settings.ServiceBusRoutingKey);
var headers = new Dictionary<String, Object>();
headers.Add("TransactionID", transactionID);
var basicProperties = new BasicProperties();
basicProperties.ContentEncoding = Encoding.UTF8.ToString();
basicProperties.ContentType = "text/xml";
basicProperties.Headers = headers;
basicProperties.DeliveryMode = 2;
var payLoad = Encoding.UTF8.GetBytes(message);
channel.BasicPublish(publicationAddress, basicProperties, payLoad);
channel.TxCommit();
}
}
我的问题是,如果路由键无效,如何使代码抛出错误?就像当我使用带有无效路由密钥的 RabbitMQ UI 发布消息时,它会给出一条消息“消息已发布,但未路由。”
提前致谢。
【问题讨论】:
标签: c# rabbitmq rabbitmq-exchange