Azure服务总线AutoDeleteOnIdle

3
我想创建一个分区队列,我一直在阅读这个网站:http://msdn.microsoft.com/en-us/library/azure/dn520246.aspx 但是,在其当前实现中,Service Bus对分区队列和主题设置了以下限制:
- 队列或主题的分区不支持自动删除空闲的功能。如果满足以下任何条件,则 Service Bus 将返回 InvalidOperationException: - 您尝试创建同时将 Microsoft.ServiceBus.Messaging.QueueDescription.AutoDeleteOnIdle 和 Microsoft.ServiceBus.Messaging.QueueDescription.EnablePartitioning 属性都设置为 true 的队列。
但是 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);
    }
}
2个回答

3
感谢你发现这个问题!我会确保文档得到更新。我已经与开发团队确认,如果AutoDeleteOnIdle设置为任何值(并且EnablePartitioning为TRUE),您将会收到异常。
--Seth Manheim
Microsoft Azure 文档团队

2

看起来这只是文档中的错误。如果在创建队列描述时不指定属性,就不应该有任何问题。

我会确保相关人员看到文档问题。 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接