我想做一个分区队列,我一直在阅读这个网站:http: //msdn.microsoft.com/en-us/library/azure/dn520246.aspx
在其当前实现中,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);
}
}