Я хочу сделать разделенную очередь, и я читал этот сайт: http://msdn.microsoft.com/en-us/library/azure/dn520246.aspxAzure Service Bus AutoDeleteOnIdle
В текущей реализации Service Bus накладывает следующие ограничения на секционированных очереди и темы:
- Разделение очередей или тем не разрешает автоматическое удаление при простоях. Service Bus возвращает InvalidOperationException, если любой из следующих условий:
- Вы пытаетесь создать очередь, свойства Microsoft.ServiceBus.Messaging.QueueDescription.AutoDeleteOnIdle и Microsoft.ServiceBus.Messaging.QueueDescription.EnablePartitioning оба набора для правда.
Но AutoDeleteOnIdle
является TimeSpan. Они имеют в виду другую собственность? Или я устанавливаю TimeSpan на 0 или -1 тиков? Согласно http://msdn.microsoft.com/en-us/library/microsoft.servicebus.messaging.queuedescription.autodeleteonidle.aspx минимальная продолжительность составляет 5 минут. В любом случае я не ищу никакой функции автоматического удаления. Должен ли я игнорировать это?
public static void CreateQueueIfNotExist(string queueName)
{
if (namespaceManager == null)
namespaceManager = NamespaceManager.CreateFromConnectionString(connectionString);
if (!namespaceManager.QueueExists(queueName))
{
QueueDescription qDescription = new QueueDescription(queueName);
qDescription.DefaultMessageTimeToLive = new TimeSpan(14, 0, 0, 0);
qDescription.LockDuration = new TimeSpan(0, 5, 0);
qDescription.EnablePartitioning = true;
qDescription.RequiresDuplicateDetection = false;
qDescription.AutoDeleteOnIdle = ???????????; // TODO
namespaceManager.CreateQueue(qDescription);
}
}