MessageQueue.PeekById Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt eine Kopie der Meldung mit der angegebenen Meldungs-ID zurück, ohne die Meldung aus der Warteschlange zu entfernen.
Überlädt
PeekById(String) |
Sieht die Meldung ein, deren Meldungs-ID mit dem |
PeekById(String, TimeSpan) |
Sieht die Meldung ein, deren Meldungs-ID mit dem |
PeekById(String)
Sieht die Meldung ein, deren Meldungs-ID mit dem id
-Parameter übereinstimmt.
public:
System::Messaging::Message ^ PeekById(System::String ^ id);
public System.Messaging.Message PeekById (string id);
member this.PeekById : string -> System.Messaging.Message
Public Function PeekById (id As String) As Message
Parameter
Gibt zurück
Die Message, deren Id-Eigenschaft mit dem id
-Parameter übereinstimmt.
Ausnahmen
Der id
-Parameter ist null
.
Es ist keine Meldung mit der angegebenen id
vorhanden.
Fehler beim Zugriff auf eine Message Queuing-Methode.
Beispiele
Das folgende Codebeispiel veranschaulicht die Verwendung von PeekById(String).
// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");
// Create a new message.
Message^ msg = gcnew Message("Example Message Body");
// Send the message.
queue->Send(msg, "Example Message Label");
// Get the message's Id property value.
String^ id = msg->Id;
// Simulate doing other work so the message has time to arrive.
System::Threading::Thread::Sleep(TimeSpan::FromSeconds(10.0));
// Peek at the message.
msg = queue->PeekById(id);
queue->Close();
// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");
// Create a new message.
Message msg = new Message("Example Message Body");
// Send the message.
queue.Send(msg, "Example Message Label");
// Get the message's Id property value.
string id = msg.Id;
// Simulate doing other work so the message has time to arrive.
System.Threading.Thread.Sleep(TimeSpan.FromSeconds(10.0));
// Peek at the message.
msg = queue.PeekById(id);
Hinweise
Verwenden Sie PeekById(String) , um eine Nachricht zu lesen, die über einen bekannten Nachrichtenbezeichner verfügt, ohne aus der Warteschlange zu entfernen. Der Bezeichner einer Nachricht ist im gesamten Message Queuing-Unternehmen eindeutig, sodass in der Warteschlange höchstens eine Nachricht vorhanden ist, die dem angegebenen id
Parameter entspricht. Diese Überladung löst eine Ausnahme aus, wenn die Warteschlange die Nachricht derzeit nicht enthält.
Mit zwei zusätzlichen Methoden können Sie Nachrichten in einer Warteschlange einsehen: Peek und PeekByCorrelationId(String). Die Peek -Methode gibt die erste Nachricht in der Warteschlange zurück. PeekByCorrelationId(String) Gibt eine Bestätigung, einen Bericht oder eine von der Anwendung generierte Antwortnachricht zurück, die als Ergebnis einer an die Warteschlange gesendeten Nachricht erstellt wurde.
Die folgende Tabelle zeigt, ob diese Methode in verschiedenen Arbeitsgruppenmodi verfügbar ist.
Arbeitsgruppenmodus | Verfügbar |
---|---|
Lokalem Computer | Ja |
Name des lokalen Computers und direktes Format | Ja |
Remotecomputer | Nein |
Name des Remotecomputers und des direkten Formats | Ja |
Weitere Informationen
Gilt für:
PeekById(String, TimeSpan)
Sieht die Meldung ein, deren Meldungs-ID mit dem id
-Parameter übereinstimmt. Wartet, bis die Meldung in der Warteschlange eingeht oder ein Timeout auftritt.
public:
System::Messaging::Message ^ PeekById(System::String ^ id, TimeSpan timeout);
public System.Messaging.Message PeekById (string id, TimeSpan timeout);
member this.PeekById : string * TimeSpan -> System.Messaging.Message
Public Function PeekById (id As String, timeout As TimeSpan) As Message
Parameter
- timeout
- TimeSpan
Eine TimeSpan, die die Zeitspanne angibt, für die auf den Eingang einer neuen Meldung zur Überprüfung gewartet werden soll.
Gibt zurück
Die Message, deren Id-Eigenschaft mit dem id
-Parameter übereinstimmt.
Ausnahmen
Der id
-Parameter ist null
.
Der für den timeout
-Parameter angegebene Wert ist ungültig. Möglicherweise ist der timeout
kleiner als Zero oder größer als der InfiniteTimeout.
Eine Meldung mit der angegebenen id
ist nicht in der Warteschlange vorhanden und nicht vor Ablauf der im timeout
-Parameter angegebenen Zeitspanne eingegangen.
Fehler beim Zugriff auf eine Message Queuing-Methode.
Beispiele
Das folgende Codebeispiel veranschaulicht die Verwendung von PeekById(String, TimeSpan).
// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");
// Create a new message.
Message^ msg = gcnew Message("Example Message Body");
// Send the message.
queue->Send(msg, "Example Message Label");
// Get the message's Id property value.
String^ id = msg->Id;
// Peek at the message.
msg = queue->PeekById(id, TimeSpan::FromSeconds(10.0));
queue->Close();
// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");
// Create a new message.
Message msg = new Message("Example Message Body");
// Send the message.
queue.Send(msg, "Example Message Label");
// Get the message's Id property value.
string id = msg.Id;
// Peek at the message.
msg = queue.PeekById(id, TimeSpan.FromSeconds(10.0));
Hinweise
Verwenden Sie PeekById(String) , um eine Nachricht zu lesen, die über einen bekannten Nachrichtenbezeichner verfügt, ohne aus der Warteschlange zu entfernen. Der Bezeichner einer Nachricht ist im gesamten Message Queuing-Unternehmen eindeutig, sodass in der Warteschlange höchstens eine Nachricht vorhanden ist, die dem angegebenen id
Parameter entspricht. Diese Überladung löst eine Ausnahme aus, wenn die Warteschlange die Nachricht derzeit nicht enthält und eine neue Nachricht erst eingeht, wenn das Timeout auftritt.
Der timeout
Parameter gibt nicht die Gesamtlaufzeit für diese Methode an. Stattdessen wird die Zeit angegeben, in der auf das Eintreffen einer neuen Nachricht in der Warteschlange gewartet wird. Jedes Mal, wenn eine neue Nachricht eingeht, untersucht diese Methode die Id der neuen Nachricht, um festzustellen, ob sie mit dem id
Parameter übereinstimmt. Wenn dies nicht der Fall ist, beginnt diese Methode mit dem Timeoutzeitraum und wartet darauf, dass eine weitere neue Nachricht eingeht. Wenn also neue Nachrichten weiterhin innerhalb des Timeoutzeitraums eingehen, kann diese Methode unbegrenzt weiter ausgeführt werden, entweder bis der Timeoutzeitraum abläuft, ohne dass neue Nachrichten eingehen, oder bis eine Nachricht eingeht, deren Idid
Parameter entspricht.
Mit zwei zusätzlichen Methoden können Sie Nachrichten in einer Warteschlange einsehen: Peek und PeekByCorrelationId(String). Die Peek -Methode gibt die erste Nachricht in der Warteschlange zurück. PeekByCorrelationId(String) Gibt eine Bestätigung, einen Bericht oder eine von der Anwendung generierte Antwortnachricht zurück, die als Ergebnis einer an die Warteschlange gesendeten Nachricht erstellt wurde.
Die folgende Tabelle zeigt, ob diese Methode in verschiedenen Arbeitsgruppenmodi verfügbar ist.
Arbeitsgruppenmodus | Verfügbar |
---|---|
Lokalem Computer | Ja |
Name des lokalen Computers und direktes Format | Ja |
Remotecomputer | Nein |
Name des Remotecomputers und des direkten Formats | Ja |
Weitere Informationen
Gilt für:
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für