J'ai une application Web et un service sur la même machine et communique via des files d'attente de messages. Le problème que je rencontre est que la moitié du temps, les messages que je envoie du service n'arrivent pas au code de lecture dans l'application web. Certains arriveront et d'autres non. Les messages sont envoyés avec au moins 1 seconde de retard entre eux. Pour rendre les choses plus difficiles - Je ne vois aucun de mes messages dans la console de gestion, même ceux qui arrivent. J'ai tourné la journalisation, mais ne vois pas de différence. J'ai un accès complet à la file d'attente.MSMQ Messages ne s'affichent pas
Je suis nouveau à MSMQ et suppose que c'est quelque chose de petit me manque, mais de la lecture en ligne je ne pouvais pas comprendre.
Le code de lecture ressemble à ceci:
public SomeMethod
{
...
MessageQueue respQ = Utils.GetResponseQueue();
respQ.Formatter = new XmlMessageFormatter(new Type[] { typeof(String) });
respQ.ReceiveCompleted += new ReceiveCompletedEventHandler(OnReceiveCompleted);
respQ.BeginReceive();
}
public void OnReceiveCompleted(Object source, ReceiveCompletedEventArgs asyncResult)
{
MessageQueue replyQueue = (MessageQueue)source;
Message replyMessage = replyQueue.EndReceive(asyncResult.AsyncResult);
try
{
//process the message
//...
}
catch (Exception)
{
}
replyQueue.BeginReceive();
}
apprécierait l'aide sur les messages manquants et les messages ne figurant pas dans la console de gestion
Moshe
Commencez par supprimer cette instruction try/catch. –
Eh bien, je l'ai fait - je suis passé à une réception périodique sur la file d'attente. Maintenant, je ne reçois aucun message. –