При создании очереди службы Azure в C # не устанавливается параметр EnablePartioning или размер? - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть код ниже для создания очереди в сервисной шине Azure

        var cs = azureServiceBusConnectionString;
        var namespaceManager = NamespaceManager.CreateFromConnectionString(cs);
        if (namespaceManager.QueueExists(queueName))
        {
            namespaceManager.DeleteQueue(queueName);
        }

        var que = namespaceManager.CreateQueue(queueName);
        que.EnablePartitioning = true;

Моя очередь создана нормально, но у меня есть 2 вопроса

1) Несмотря на то, что я установил EnablePartioning в true, в моей очереди для EnablePartioning установлено значение false. Почему это? Есть ли метод, который я должен вызвать, чтобы сохранить изменения или что-то 2) Я не могу установить размер очереди, так как свойство SizeInBytes доступно только для чтения. Как я могу это сделать?

Я не вижу конструктора, который бы позволял мне устанавливать EnablePartitioning или размер?

Пол

1 Ответ

0 голосов
/ 26 апреля 2018

Вы должны включить разбиение на QueueDescription при создании очереди.

var cs = azureServiceBusConnectionString;
var namespaceManager = NamespaceManager.CreateFromConnectionString(cs);
if (namespaceManager.QueueExists(queueName))
{
    namespaceManager.DeleteQueue(queueName);
}

var queueDescription = new QueueDescription(queueName);
queueDescription.EnablePartitioning = true;
queueDescription.MaxSizeInMegabytes = 1024;

var que = namespaceManager.CreateQueue(queueDescription);

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

Вы можете установить максимальный размер очереди, используя свойство MaxSizeInMegabytes.

...