我想创建一个分区队列,我一直在阅读这个网站: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 的队列。
但是
- 队列或主题的分区不支持自动删除空闲的功能。如果满足以下任何条件,则 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);
}
}