我是公交车的新手,正在努力更好地了解细节。考虑以下语句:
”如果超过了邮件的最大发送数量 订阅,然后消息传递系统将消息置于无效状态 字母子队列”
请确认我的以下理解是否正确:
您能否在此背景下解释“最大投放次数”的概念?您可以在Azure中命名尝试发送此消息的特定对象类型吗?我猜是传递失败意味着订阅者处于脱机状态或处于某种状态,即未收到消息或拒绝了该消息?它是否正确?
如果服务总线在尝试传递消息时遇到内部错误,那么我假设这将不计入“最大传递计数”数字,对吗?您可以笼统地描述总线尝试将消息发送给订户但传递失败的过程吗?此发送尝试的常见响应类型有哪些,它们会增加失败的传递计数的数量?另外,您能否描述访问Azure中死信子队列的过程?
答案 0 :(得分:0)
最大传递次数表示邮件可以传递的最大次数。如果特定消息没有被接收者成功处理'n'次,那么它将被移到一个死信子队列中(您可以在其中找到失败原因的失败消息)。当消息出现时,计数增加锁定已过期,或者邮件已被收件人明确放弃。
可以找到here
下邮件被移入死信队列的情况。可以使用以下代码接收死信路径中的消息:
MessagingFactory factory = MessagingFactory.CreateFromConnectionString(connectionString);
var deadLetterPath = SubscriptionClient.FormatDeadLetterPath(topicPath,subscriptionName);
var Receiver = factory.CreateMessageReceiver(deadLetterPath, ReceiveMode.ReceiveAndDelete);