Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo MessageQueue.ReceiveById (String)

 

Data di pubblicazione: ottobre 2016

Riceve il messaggio che corrisponde all'identificatore specificato da una coda non transazionale e immediatamente genera un'eccezione se nella coda è attualmente disponibile alcun messaggio con l'identificatore specificato.

Spazio dei nomi:   System.Messaging
Assembly:  System.Messaging (in System.Messaging.dll)

public Message ReceiveById(
	string id
)

Parametri

id
Type: System.String

Il Id del messaggio da ricevere.

Valore restituito

Type: System.Messaging.Message

Il Message cui Id corrispondenze di proprietà di id passato nel parametro.

Exception Condition
ArgumentNullException

Il valore del parametro id è null.

InvalidOperationException

Il messaggio con l'oggetto specificato id non è stato trovato.

MessageQueueException

Si è verificato un errore quando si accede a un metodo di Accodamento messaggi.

Utilizzare questo metodo per leggere un messaggio con un identificatore conosciuto e rimuoverlo dalla coda. Questo metodo genera un'eccezione immediatamente se il messaggio non è presente nella coda.

Il Id esisterà al massimo un messaggio nella coda corrispondente è univoca in Accodamento messaggi, proprietà di un messaggio di determinato id parametro.

Altri due metodi consentono di ricevere messaggi da una coda. Il Receive metodo restituisce il primo messaggio della coda e ReceiveByCorrelationId(String) metodo viene utilizzato per recuperare un riconoscimento, un report o un messaggio di risposta generati dall'applicazione che è stato creato come risultato di un messaggio inviato alla coda.

Per leggere un messaggio con un identificatore specificato senza rimuoverlo dalla coda, utilizzare il PeekById(String) metodo. Il PeekById(String) metodo restituisce sempre il primo messaggio della coda, le chiamate successive al metodo restituiscono lo stesso messaggio a meno che un messaggio con priorità più alta arriva nella coda.

Nella tabella seguente indica se questo metodo è disponibile in diverse modalità gruppo di lavoro.

Modalità gruppo di lavoro

Disponibile

Computer locale

Computer locale e il nome di formato direct

Computer remoto

No

Computer remoto e il nome di formato direct

L'esempio di codice seguente illustra l'uso di ReceiveById(String).


// 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));

// Receive the message from the queue.
msg = queue.ReceiveById(id);

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: