C# Azure服务总线自动删除工具

C# Azure服务总线自动删除工具,c#,.net,azure,azureservicebus,azure-servicebus-queues,C#,.net,Azure,Azureservicebus,Azure Servicebus Queues,我想创建一个分区队列,我一直在阅读此网站: 在其当前实现中,Service Bus对分区队列和主题施加了以下限制: 队列或主题的分区不会在空闲时启用自动删除。如果出现以下任何情况,服务总线将返回InvalidOperationException: 您尝试创建的队列的Microsoft.ServiceBus.Messaging.QueueDescription.AutoDeleteOnIdle和Microsoft.ServiceBus.Messaging.QueueDescription.En

我想创建一个分区队列,我一直在阅读此网站:

在其当前实现中,Service Bus对分区队列和主题施加了以下限制:

  • 队列或主题的分区不会在空闲时启用自动删除。如果出现以下任何情况,服务总线将返回InvalidOperationException:
    • 您尝试创建的队列的Microsoft.ServiceBus.Messaging.QueueDescription.AutoDeleteOnIdle和Microsoft.ServiceBus.Messaging.QueueDescription.EnablePartitioning属性均设置为true
但是,
AutoDeleteOnIdle
是一个时间跨度。它们是指另一种财产吗?还是将时间跨度设置为0或-1个刻度?根据规定,最短持续时间为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);
    }
}

这似乎只是文档中的一个错误。如果在创建队列描述时未指定属性,则不会出现任何问题


我会确保正确的人看到文档问题。:)

谢谢您的收看!我会确保文件更新。我已经向开发团队确认,如果AutoDeleteOnIdle设置为任何值(并且EnablePartitioning为TRUE),您将得到异常

--塞思·曼海姆

Microsoft Azure文档团队