Tag: 死信

如何在Azure Service Bus主题上删除DeadLetter消息

我正在写一段代码,这将允许我们: 查看Azure Service Bus主题(Peek)中存在的所有死信消息的列表 修复并将它们发送回主题 重新发送时从死信队列中删除它们。 前2分我没有问题; 使用Peek接收模式,我可以显示消息列表,我们可以编辑和重新发送,没有任何问题。 当我想要实际从死信队列中删除消息时,问题出现了。 我们如何通过消息级别对消息执行此操作? 我们可能只想删除驻留在死信队列中的2条消息,并保留其他消息以便稍后查看。 在死信队列中的消息上调用.Complete()是否像在主订阅中那样删除它? 以供参考; 这是我们获取死信队列的SubscriptionClient代码: private SubscriptionClient GetOrCreateSubscriptionClient(string connectionString) { if (!NamespaceManager.TopicExists(_topicName)) { NamespaceManager.CreateTopic(new TopicDescription(_topicName) { MaxSizeInMegabytes = 5120, DefaultMessageTimeToLive = TimeSpan.FromSeconds(DEFAULT_LOCK_DURATION_IN_SECONDS) }); } if (!NamespaceManager.SubscriptionExists(_topicName, _subscriptionName)) { NamespaceManager.CreateSubscription(_topicName, _subscriptionName); } var deadLetterPath = SubscriptionClient.FormatDeadLetterPath(_topicName, _subscriptionName); var client = SubscriptionClient.CreateFromConnectionString( connectionString, deadLetterPath, _subscriptionName, ReceiveMode.PeekLock); return client; […]