получение ошибки: System.InvalidOperationException: разрешены только следующие вложенные очереди: '$ deadletterqueue, $ Scheduled, $ Transfer' - PullRequest
0 голосов
/ 24 ноября 2018

Я использую сервисную шину Windows 1.1 и пытаюсь удалить dead letter сообщения из очереди, но приведенный ниже код вызывает ошибку,

System.InvalidOperationException: только следующие вложенные очереди:'$ deadletterqueue, $ Scheduled, $ Transfer' разрешены.

enter image description here

Вот код,

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";

, то НЕ получаю никаких ошибок, но сообщения с мертвыми буквами не удаляются.

Может кто-нибудь подсказать, что не так с кодом?

...