2009-11-13 5 views
2

je sais que je peux mettre en place un message dans NServiceBus avec l'attribut TimeToBeReceived mais ne nservicebus a une capacité d'infrastructure pour l'exécution d'un gestionnaire d'événements lorsque le message envoyé n'a pas été reçu après le temps configuré dans le TimeToBeReceived attribut?manutention délais d'attente avec NServiceBus

Répondre

0

Le fait que les systèmes de files d'attente sous-jacents (MSMQ, Azure Queues, etc.) soient responsables de la suppression des messages «anciens» ne permet pas de détecter quand cela se produit.

Réponse courte:

Pas

Hope this helps!

4

Vous pouvez essayer de le faire de manière applicative. Demandez à la cible à laquelle vous envoyez le message d'envoyer une réponse. Ensuite, plutôt que de simplement envoyer le message, utilisez une saga pour le faire. Demandez à la saga de demander un délai d'attente pour la même période que TimeToBeReceived. Dans la méthode du gestionnaire de réponse, faites en sorte que la marque saga soit complète. Ensuite, la méthode de délai d'attente dans votre saga est le rappel que vous recherchiez. N'oubliez pas que vous devez exécuter TimeoutManager.

Voilà la réponse longue à la réponse courte d'Andreas :)