MessageQueue.PeekById Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce una copia del messaggio con l'identificatore di messaggio specificato, senza rimuovere il messaggio dalla coda.
Overload
PeekById(String) |
Legge il messaggio il cui identificatore corrisponde al parametro |
PeekById(String, TimeSpan) |
Legge il messaggio il cui identificatore corrisponde al parametro |
PeekById(String)
Legge il messaggio il cui identificatore corrisponde al parametro 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
Parametri
Restituisce
Message la cui proprietà Id corrisponde al parametro id
.
Eccezioni
Il valore del parametro id
è null
.
Non è disponibile alcun messaggio con il parametro id
specificato.
Si è verificato un errore durante l'accesso a un metodo di Accodamento messaggi.
Esempio
L'esempio di codice seguente illustra l'uso di 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);
Commenti
Usare PeekById(String) per leggere, senza rimuovere dalla coda, un messaggio con un identificatore di messaggio noto. L'identificatore di un messaggio è univoco nell'organizzazione accodamento messaggi, pertanto nella coda sarà presente al massimo un messaggio corrispondente al parametro specificato id
. Questo overload genera un'eccezione se la coda non contiene attualmente il messaggio.
Due metodi aggiuntivi consentono di visualizzare i messaggi in una coda: Peek e PeekByCorrelationId(String). Il Peek metodo restituisce il primo messaggio nella coda. PeekByCorrelationId(String) Restituisce un messaggio di risposta, un report o un messaggio di risposta generato dall'applicazione creato come risultato di un messaggio inviato alla coda.
Nella tabella seguente viene illustrato se questo metodo è disponibile in varie modalità gruppo di lavoro.
Modalità gruppo di lavoro | Disponibile |
---|---|
Computer locale | Sì |
Computer locale e nome del formato diretto | Sì |
Computer remoto | No |
Nome del formato diretto e del computer remoto | Sì |
Vedi anche
Si applica a
PeekById(String, TimeSpan)
Legge il messaggio il cui identificatore corrisponde al parametro id
. Attende che il messaggio venga visualizzato nella coda o che si verifichi il timeout.
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
Parametri
- timeout
- TimeSpan
Oggetto TimeSpan che indica l'intervallo di attesa prima che un nuovo messaggio venga reso disponibile per il controllo.
Restituisce
Message la cui proprietà Id corrisponde al parametro id
.
Eccezioni
Il valore del parametro id
è null
.
Il valore specificato per il parametro timeout
non è valido, probabilmente perché timeout
è minore di Zero o maggiore di InfiniteTimeout.
Il messaggio con l'oggetto id
specificato non è presente nella coda e non è arrivato prima della scadenza del periodo di tempo specificato dal parametro timeout
.
Si è verificato un errore durante l'accesso a un metodo di Accodamento messaggi.
Esempio
L'esempio di codice seguente illustra l'uso di 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));
Commenti
Usare PeekById(String) per leggere, senza rimuovere dalla coda, un messaggio con un identificatore di messaggio noto. L'identificatore di un messaggio è univoco nell'organizzazione accodamento messaggi, pertanto nella coda sarà presente al massimo un messaggio corrispondente al parametro specificato id
. Questo overload genera un'eccezione se la coda non contiene attualmente il messaggio e un nuovo messaggio non arriva prima che si verifichi il timeout.
Il timeout
parametro non specifica il tempo di esecuzione totale per questo metodo. Specifica invece il tempo di attesa per l'arrivo di un nuovo messaggio nella coda. Ogni volta che arriva un nuovo messaggio, questo metodo esamina il Id del nuovo messaggio per verificare se corrisponde al id
parametro . In caso contrario, questo metodo avvia il periodo di timeout e attende l'arrivo di un altro nuovo messaggio. Pertanto, se i nuovi messaggi continuano ad arrivare entro il periodo di timeout, è possibile che questo metodo continui a essere in esecuzione per un periodo illimitato, fino alla scadenza del periodo di timeout senza nuovi messaggi in arrivo o fino a quando non arriva un messaggio il cui Id corrisponde al id
parametro .
Due metodi aggiuntivi consentono di visualizzare i messaggi in una coda: Peek e PeekByCorrelationId(String). Il Peek metodo restituisce il primo messaggio nella coda. PeekByCorrelationId(String) Restituisce un messaggio di risposta, un report o un messaggio di risposta generato dall'applicazione creato come risultato di un messaggio inviato alla coda.
Nella tabella seguente viene illustrato se questo metodo è disponibile in varie modalità gruppo di lavoro.
Modalità gruppo di lavoro | Disponibile |
---|---|
Computer locale | Sì |
Computer locale e nome del formato diretto | Sì |
Computer remoto | No |
Nome del formato diretto e del computer remoto | Sì |
Vedi anche
Si applica a
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per