Un message en file d'attente MSMQ peut-il survivre à un redémarrage de service/serveur? Ce que je veux dire, c'est que si une file d'attente a des messages et que le serveur connaît un redémarrage, les messages seront-ils toujours disponibles dans la file d'attente après le redémarrage?MSMQ - une file d'attente peut-elle survivre à une file d'attente? Processus redémarrage/redémarrage du serveur
10
A
Répondre
16
Pour ce faire, vous devez marquer les messages comme récupérables. Par défaut, les messages MSMQ sont uniquement conservés en mémoire, mais les messages récupérables sont sauvegardés sur le disque pour activer la messagerie MSMQ fiable.
using System.Messaging;
Message recoverableMessage = new Message();
recoverableMessage.Body = "Sample Recoverable Message";
recoverableMessage.Recoverable = true;
MessageQueue msgQ = new MessageQueue(@".\$private\Orders");
msgQ.Send(recoverableMessage);
Vous trouverez un aperçu de cette zone à Reliable Messaging with MSMQ and .NET.
Les messages transactionnels n'ont pas besoin d'être marqués manuellement comme récupérables - ceci est implicite dans le fait qu'ils font partie d'une transaction basée sur MSMQ.