Forums Neueste Beiträge
 

Abfragen ob in Message Queue Nachrichten vorhanden sind.

21/05/2008 - 13:08 von Martin Horst | Report spam
Hi,

gibt es eine Möglichkeit abzufragen, ob man Nachrichten aus einer
Message Queue lesen kann. CanRead gibt ja auch true zurück, wenn man
lesen darf obwohl keine Nachricht zum lesen vorliegt. So direkt dazu
habe ich nichts in der Hilfe gefunden.

Danke
Martin
 

Lesen sie die antworten

#1 Arne Janning
21/05/2008 - 13:55 | Warnen spam
Hallo Martin,

"Martin Horst" wrote
gibt es eine Möglichkeit abzufragen, ob man Nachrichten aus einer Message
Queue lesen kann. CanRead gibt ja auch true zurück, wenn man lesen darf
obwohl keine Nachricht zum lesen vorliegt. So direkt dazu habe ich nichts
in der Hilfe gefunden.



MessageQueue.Peek()

Üblicherweise irgendwie nach diesem Pattern, z.B. irgendwo in Main():

MessageQueue mq = new MessageQueue(".\\DeineQueue");
mq.PeekCompleted += new PeekCompletedEventHandler(PeekCompleted);
mq.BeginPeek();

und dann in PeekCompleted:

void PeekCompleted(Object source, PeekCompletedEventArgs asyncResult)
{
MessageQueue mq = (MessageQueue) source;
Message m = mq.EndPeek(asyncResult.AsyncResult);
//mach irgendwas mit der Message
Console.WriteLine(m.Body);

//und wieder auf neue Message warten:
mq.BeginPeek();
}

Herzliche Grüße

Arne Janning

Ähnliche fragen