2014-08-29 6 views
2

Je veux faire une file d'attente partitionné et j'ai lu ce site: http://msdn.microsoft.com/en-us/library/azure/dn520246.aspxAzure Service Bus AutoDeleteOnIdle

Dans son implémentation actuelle, Service Bus impose les restrictions suivantes files d'attente et cloisonnées sujets:

  • La partition de files d'attente ou de sujets n'autorise pas la suppression automatique en cas d'inactivité. Service Bus retourne un InvalidOperationException si l'une des conditions suivantes se produit:
    • Vous essayez de créer une file d'attente pour laquelle les propriétés Microsoft.ServiceBus.Messaging.QueueDescription.AutoDeleteOnIdle et Microsoft.ServiceBus.Messaging.QueueDescription.EnablePartitioning sont tous deux sur vrai.

Mais AutoDeleteOnIdle est un TimeSpan. Est-ce qu'ils signifient une autre propriété? Ou est-ce que je mets le TimeSpan à 0 ou -1 ticks? Selon http://msdn.microsoft.com/en-us/library/microsoft.servicebus.messaging.queuedescription.autodeleteonidle.aspx, la durée minimale est de 5 minutes. Je ne cherche aucune fonctionnalité de suppression automatique de toute façon. Devrais-je l'ignorer?

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); 
    } 
} 

Répondre

2

Il semble s'agir simplement d'une erreur dans la documentation. Si vous ne spécifiez pas de propriété lors de la création de la description de votre file d'attente, vous ne devriez rencontrer aucun problème.

Je vais m'assurer que les bonnes personnes voient le problème de documentation. :)

3

Merci d'avoir attrapé ça! Je vais m'assurer que les documents sont mis à jour. J'ai confirmé à l'équipe de développement que vous obtiendrez l'exception si AutoDeleteOnIdle est défini sur n'importe quelle valeur (et que EnablePartitioning est TRUE).

--Seth Manheim

Microsoft Azure Documentation équipe

Questions connexes