我在C#中有以下代碼,如果路由鍵無效,它不會拋出錯誤。RabbitMQ不會在無效路由鍵上拋出錯誤
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發佈帶有無效路由密鑰的消息一樣,它會發出一條消息:「已發佈消息,但未路由」。
在此先感謝。
'發佈Confirm'確認消息到達服務器不是隊列。 – Gabriele