【发布时间】:2014-02-10 17:09:10
【问题描述】:
我在使用 Bus.SendToQueues 时遇到错误,问题结束时有详细错误。
我有一个使用存储帐户和密钥设置的 azure 队列,我正在尝试使用 Bus.SendToSites 让使用 msmq 的本地服务总线处理程序向 azure 站点发送消息。
尝试启动网关,按照:http://support.nservicebus.com/customer/portal/articles/859548-the-gateway-and-multi-site-distribution,我正在使用此配置:
App.config:(我是否正确设置了网站?)
<section name="GatewayConfig" type="NServiceBus.Config.GatewayConfig, NServiceBus.Core" />
<GatewayConfig>
<Sites>
<Site Key="Azure" Address="http://<!--STORAGE ACCOUNT NAME-->.queue.core.windows.net/<!--STORAGE ACCOUNT KEY-->" ChannelType="Http"/>
</Sites>
</GatewayConfig>
处理程序:
Bus.SendToSites(new[] { "Azure" }, message);
在运行时,我得到以下信息:
错误: 发送消息失败地址:分发者的数据地址,作为该端点发送消息的返回地址..gateway@HFORTE
内部异常:{“格式名称无效。”}
堆栈跟踪: 在 System.Messaging.MessageQueue.MQCacheableInfo.get_WriteHandle() 在 System.Messaging.MessageQueue.StaleSafeSendMessage(MQPROPS 属性,ITransaction 事务) 在 System.Messaging.MessageQueue.StaleSafeSendMessage(MQPROPS 属性,IntPtr 事务) 在 System.Messaging.MessageQueue.SendInternal(对象 obj,MessageQueueTransaction internalTransaction,MessageQueueTransactionType transactionType) 在 System.Messaging.MessageQueue.Send(对象 obj,MessageQueueTransactionType 事务类型) 在 NServiceBus.Transports.Msmq.MsmqMessageSender.Send(TransportMessage message, Address address) in :line 0
我看到传输是 MSMQ - 这是问题所在,MSMQ 和 Azure 是不同的传输协议,如果是,如何解决?
【问题讨论】:
标签: nservicebus gateway azure-queues