0

Я создал лазурное приложение для служебной шины, которое заглядывает все сообщения в deadletter. Некоторые конкретные сообщения (с определенным messageid), которые я просматривал, нужно удалить из очереди с ошибкой. Просьба предоставить помощь для ее реализации. Большое спасибоКак просмотреть и удалить сообщение из мертвой точки в azureservicebus

+0

Можете вы показать нам, что вы натворили на данный момент? – Thomas

ответ

2

Позвонив по ссылке на брокерское сообщение, которое вы получаете из очереди с мертвой буквой, вы можете удалить его из очереди с мертвой буквой.

https://msdn.microsoft.com/library/azure/microsoft.servicebus.messaging.brokeredmessage.complete.aspx

+0

Hi aravind, большое спасибо за ваш ответ – pilid

+0

@pilid, если ответ правильный, как будто кажется, отметьте его как ответ. –

2

Во-первых, если вам нужно знать, как создать тему службы шины и подписки:

Чтобы получить сообщение от подписки, необходимо создать приемник сообщений:

//Create the messaging factory 
var messagingFactory = MessagingFactory.CreateFromConnectionString("ServiceBusConnectionString"); 

// Get the dead letter path 
var deadLetterPath = SubscriptionClient.FormatDeadLetterPath("TopicPath", "subscriptionName"); 

// Get the message receiver for the deal letter queue. 
var messageReceiver = messagingFactory.CreateMessageReceiver(deadLetterPath); 

Затем вы можете просто послушать приходящие сообщения:

// This is the list of ids that need to be delete 
var messageIdsToDelete = new List<long>(...); 
messageReceiver.OnMessage((message) => 
{ 
    // Check if we have to delete the message 
    if (messageIdsToDelete.Contains(message.SequenceNumber)) 
    { 
     // Complete and delete the message from the queue. 
     message.Complete(); 
    } 

}, new OnMessageOptions());