MessageQueue.PeekById Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí kopii zprávy, která má zadaný identifikátor zprávy bez odebrání zprávy z fronty.
Přetížení
| Name | Description |
|---|---|
| PeekById(String) |
Zobrazí zprávu, jejíž identifikátor zprávy odpovídá parametru |
| PeekById(String, TimeSpan) |
Zobrazí zprávu, jejíž identifikátor zprávy odpovídá parametru |
PeekById(String)
Zobrazí zprávu, jejíž identifikátor zprávy odpovídá parametru id .
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
Parametry
Návraty
Jehož Message vlastnost odpovídá parametruId.id
Výjimky
Parametr id je null.
Žádná zpráva se zadanou id zprávou neexistuje.
Při přístupu k metodě řízení front zpráv došlo k chybě.
Příklady
Následující příklad kódu ukazuje použití 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);
Poznámky
Umožňuje PeekById(String) číst zprávu se známým identifikátorem zprávy bez odebrání z fronty. Identifikátor zprávy je jedinečný v rámci organizace služby Řízení front zpráv, takže ve frontě bude maximálně jedna zpráva, která odpovídá danému id parametru. Toto přetížení vyvolá výjimku, pokud fronta aktuálně neobsahuje zprávu.
Dvě další metody umožňují náhled zpráv ve frontě: Peek a PeekByCorrelationId(String). Metoda Peek vrátí první zprávu ve frontě; PeekByCorrelationId(String) vrátí potvrzení, sestavu nebo zprávu odpovědi vygenerovanou aplikací, která byla vytvořena v důsledku zprávy odeslané do fronty.
Následující tabulka ukazuje, zda je tato metoda k dispozici v různých režimech pracovní skupiny.
| Režim pracovní skupiny | Available |
|---|---|
| Místní počítač | Yes |
| Název místního počítače a přímého formátu | Yes |
| Vzdálený počítač | No |
| Název vzdáleného počítače a přímého formátu | Yes |
Viz také
Platí pro
PeekById(String, TimeSpan)
Zobrazí zprávu, jejíž identifikátor zprávy odpovídá parametru id . Počká, dokud se zpráva nezobrazí ve frontě nebo dojde k vypršení časového limitu.
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
Parametry
- timeout
- TimeSpan
A TimeSpan , který označuje dobu čekání, až bude k dispozici nová zpráva pro kontrolu.
Návraty
Jehož Message vlastnost odpovídá parametruId.id
Výjimky
Parametr id je null.
Hodnota zadaná pro timeout parametr není platná, pravděpodobně timeout je menší nebo Zero větší než InfiniteTimeout.
Zpráva se zadanou id zprávou ve frontě neexistuje a nebyla doručena před obdobím určeným parametrem timeout , jehož platnost vypršela.
Při přístupu k metodě řízení front zpráv došlo k chybě.
Příklady
Následující příklad kódu ukazuje použití 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));
Poznámky
Umožňuje PeekById(String) číst zprávu se známým identifikátorem zprávy bez odebrání z fronty. Identifikátor zprávy je jedinečný v rámci organizace služby Řízení front zpráv, takže ve frontě bude maximálně jedna zpráva, která odpovídá danému id parametru. Toto přetížení vyvolá výjimku, pokud fronta aktuálně neobsahuje zprávu a nová zpráva nedorazí před vypršením časového limitu.
Parametr timeout nezadá celkovou dobu běhu pro tuto metodu. Místo toho určuje dobu čekání na přijetí nové zprávy do fronty. Pokaždé, když přijde nová zpráva, tato metoda prozkoumá Id novou zprávu a zjistí, jestli odpovídá parametru id . Pokud ne, tato metoda spustí časové období vypršení časového limitu a čeká na doručení další nové zprávy. Proto pokud nové zprávy budou docházet v časovém limitu, je možné, aby tato metoda pokračovala po neomezenou dobu, a to buď do vypršení časového limitu, bez příchodu nových zpráv, nebo až do přijetí zprávy, jejíž Id odpovídá parametru id .
Dvě další metody umožňují náhled zpráv ve frontě: Peek a PeekByCorrelationId(String). Metoda Peek vrátí první zprávu ve frontě; PeekByCorrelationId(String) vrátí potvrzení, sestavu nebo zprávu odpovědi vygenerovanou aplikací, která byla vytvořena v důsledku zprávy odeslané do fronty.
Následující tabulka ukazuje, zda je tato metoda k dispozici v různých režimech pracovní skupiny.
| Režim pracovní skupiny | Available |
|---|---|
| Místní počítač | Yes |
| Název místního počítače a přímého formátu | Yes |
| Vzdálený počítač | No |
| Název vzdáleného počítače a přímého formátu | Yes |