Nous avons une application MVC qui lit les données de MSMQ. Nous essayons de trouver un moyen de lire le message de la file d'attente et de le retirer de la file d'attente seulement si l'utilisateur a effectué une opération réussie dans la file d'attente. Le message doit rester dans la file d'attente jusqu'à ce que l'utilisateur termine le traitement, le message ne doit pas être disponible pour quelqu'un d'autre jusqu'à ce que l'utilisateur qui traite l'objet de message a terminé l'opération.Suppression du message de la file d'attente uniquement si l'utilisateur effectue une opération
Y a-t-il une propriété pour qu'un objet Message soit défini comme étant Peeked, ce qui ne permettra plus la lecture de ce message jusqu'à ce qu'il soit remis dans la file d'attente ou retiré de la file d'attente?
Nous ne savons pas si l'utilisation de MSMQ est une bonne idée dans ce cas?
Ceci est similaire à quelque chose que j'été mise en place. La façon dont je l'imaginais, les éléments sont ajoutés à la file d'attente (la file d'attente est une table de base de données), puis quand ils sont captés par un processus, ils sont marqués comme "En cours" et horodatés. table. Une fois le processus terminé, il supprime l'élément de la table. Pour récupérer des plantages ou des éléments orphelins, un autre processus intervient à chaque minute et efface le drapeau "En cours" de tout élément dont l'horodatage date de plus de 15 minutes, ce qui est bien plus long que ce qui serait nécessaire pour terminer. Est-ce que c'est comme ce que vous proposez? – SqlRyan
C'est exactement ce que je cherche. Si le processus ne parvient pas à terminer, le message doit être ajouté à la file d'attente ou le message doit être marqué comme disponible pour être récupéré ultérieurement. Pourriez-vous s'il vous plaît suggérer si l'utilisation de MSMQ dans ce cas est une bonne option. Pourriez-vous s'il vous plaît laissez-moi savoir ce que vous avez utilisé dans votre configuration? – Balaji