Я использую сервисную шину Windows 1.1 и пытаюсь удалить dead letter
сообщения из очереди, но приведенный ниже код вызывает ошибку,
System.InvalidOperationException: только следующие вложенные очереди:'$ deadletterqueue, $ Scheduled, $ Transfer' разрешены.
Вот код,
try
{
string connectionString = ConfigurationManager.AppSettings["connectionString"];
string queueName = "MyQueueName/$deadletterqueue";
ServiceBusConnectionStringBuilder builder = new ServiceBusConnectionStringBuilder(connectionString);
MessagingFactory factory = MessagingFactory.CreateFromConnectionString(builder.ToString());
var client = QueueClient.CreateFromConnectionString(connectionString, queueName);
string deadLetterQueuePath = QueueClient.FormatDeadLetterPath(queueName);
QueueClient deadletterQueueClient = factory.CreateQueueClient(deadLetterQueuePath);
while (true)
{
BrokeredMessage brokeredMessage = deadletterQueueClient.Receive();
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
Если я использую нижнюю строку,
string queueName = "MyQueueName";
, то НЕ получаю никаких ошибок, но сообщения с мертвыми буквами не удаляются.
Может кто-нибудь подсказать, что не так с кодом?