MessageQueue.PeekById Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Retourneert een kopie van het bericht met de opgegeven bericht-id zonder het bericht uit de wachtrij te verwijderen.
Overloads
| Name | Description |
|---|---|
| PeekById(String) |
Hiermee wordt het bericht weergegeven waarvan de bericht-id overeenkomt met de |
| PeekById(String, TimeSpan) |
Hiermee wordt het bericht weergegeven waarvan de bericht-id overeenkomt met de |
PeekById(String)
Hiermee wordt het bericht weergegeven waarvan de bericht-id overeenkomt met de id parameter.
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
Parameters
Retouren
De Message eigenschap waarvan Id de eigenschap overeenkomt met de id parameter.
Uitzonderingen
De id parameter is null.
Er bestaat geen bericht met de opgegeven id waarde.
Er is een fout opgetreden bij het openen van een Message Queuing-methode.
Voorbeelden
In het volgende codevoorbeeld ziet u het gebruik van 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);
Opmerkingen
Gebruik PeekById(String) dit om een bericht met een bekende bericht-id te lezen, zonder uit de wachtrij te verwijderen. De id van een bericht is uniek in de enterprise Message Queuing, dus er is maximaal één bericht in de wachtrij die overeenkomt met de opgegeven id parameter. Deze overbelasting genereert een uitzondering als de wachtrij het bericht momenteel niet bevat.
Met twee extra methoden kunt u berichten in een wachtrij bekijken: Peek en PeekByCorrelationId(String). De Peek methode retourneert het eerste bericht in de wachtrij. PeekByCorrelationId(String) Retourneert een bevestigings-, rapport- of toepassingsantwoordbericht dat is gemaakt als gevolg van een bericht dat naar de wachtrij is verzonden.
In de volgende tabel ziet u of deze methode beschikbaar is in verschillende werkgroepmodi.
| Werkgroepmodus | Available |
|---|---|
| Lokale computer | Ja |
| Naam van lokale computer en directe indeling | Ja |
| Externe computer | No |
| Naam van externe computer en directe indeling | Ja |
Zie ook
Van toepassing op
PeekById(String, TimeSpan)
Hiermee wordt het bericht weergegeven waarvan de bericht-id overeenkomt met de id parameter. Wacht totdat het bericht in de wachtrij wordt weergegeven of er een time-out optreedt.
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
Parameters
- timeout
- TimeSpan
A TimeSpan die aangeeft hoe lang moet worden gewacht totdat een nieuw bericht beschikbaar is voor inspectie.
Retouren
De Message eigenschap waarvan Id de eigenschap overeenkomt met de id parameter.
Uitzonderingen
De id parameter is null.
De opgegeven waarde voor de timeout parameter is ongeldig, mogelijk timeout kleiner dan Zero of groter dan InfiniteTimeout.
Het bericht met de opgegeven id waarde bestaat niet in de wachtrij en komt niet binnen voordat de periode die is opgegeven door de timeout parameter is verlopen.
Er is een fout opgetreden bij het openen van een Message Queuing-methode.
Voorbeelden
In het volgende codevoorbeeld ziet u het gebruik van 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));
Opmerkingen
Gebruik PeekById(String) dit om een bericht met een bekende bericht-id te lezen, zonder uit de wachtrij te verwijderen. De id van een bericht is uniek in de enterprise Message Queuing, dus er is maximaal één bericht in de wachtrij die overeenkomt met de opgegeven id parameter. Deze overbelasting genereert een uitzondering als de wachtrij het bericht momenteel niet bevat en er geen nieuw bericht binnenkomt voordat de time-out optreedt.
De timeout parameter geeft de totale uitvoeringsduur voor deze methode niet op. In plaats daarvan geeft het de tijd op waarop moet worden gewacht tot een nieuw bericht in de wachtrij aankomt. Telkens wanneer een nieuw bericht binnenkomt, onderzoekt deze methode het Id nieuwe bericht om te zien of het overeenkomt met de id parameter. Zo niet, dan wordt met deze methode de time-outperiode gestart en wordt gewacht tot er een nieuw bericht binnenkomt. Als nieuwe berichten binnen de time-outperiode blijven binnenkomen, is het daarom mogelijk dat deze methode voor onbepaalde tijd wordt uitgevoerd, totdat de time-outperiode verloopt zonder dat er nieuwe berichten binnenkomen of totdat een bericht binnenkomt waarvan Id de id parameter overeenkomt.
Met twee extra methoden kunt u berichten in een wachtrij bekijken: Peek en PeekByCorrelationId(String). De Peek methode retourneert het eerste bericht in de wachtrij. PeekByCorrelationId(String) Retourneert een bevestigings-, rapport- of toepassingsantwoordbericht dat is gemaakt als gevolg van een bericht dat naar de wachtrij is verzonden.
In de volgende tabel ziet u of deze methode beschikbaar is in verschillende werkgroepmodi.
| Werkgroepmodus | Available |
|---|---|
| Lokale computer | Ja |
| Naam van lokale computer en directe indeling | Ja |
| Externe computer | No |
| Naam van externe computer en directe indeling | Ja |