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.Send (Object, String, MessageQueueTransactionType)

 

Data di pubblicazione: ottobre 2016

Invia un oggetto alla coda a cui fa riferimento MessageQueue e specifica un'etichetta per il messaggio.

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

public void Send(
	object obj,
	string label,
	MessageQueueTransactionType transactionType
)

Parametri

obj
Type: System.Object

Oggetto da inviare alla coda.

label
Type: System.String

L'etichetta del messaggio.

transactionType
Type: System.Messaging.MessageQueueTransactionType

Uno del MessageQueueTransactionType valori, che descrivono il tipo di contesto di transazione da associare al messaggio.

Exception Condition
ArgumentNullException

Il valore del parametro label è null.

MessageQueueTransaction

L'applicazione di Accodamento messaggi di stato segnalato un utilizzo non corretto delle transazioni.

InvalidEnumArgumentException

Il transactionType parametro non è incluso il MessageQueueTransactionType membri.

MessageQueueException

Il Path proprietà non è stata impostata.

-oppure-

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

Utilizzare questo overload per inviare un messaggio che contiene il obj parametro alla coda a cui fa riferimento il MessageQueue, utilizzando il contesto di transazione definito dal transactionType parametro. Specificare Automatic per il transactionType parametro se è già presente un contesto di transazione esterno associato al thread che si desidera utilizzare per inviare il messaggio. Specificare Single Se si desidera inviare il messaggio come singola transazione interna. È possibile specificare None Se si desidera inviare un messaggio transazionale a un thread non transazionale.

L'oggetto inviato alla coda può essere un Message o qualsiasi oggetto gestito. Se si invia un oggetto diverso da un Message, l'oggetto viene serializzato e inserito nel corpo del messaggio. Con questo overload, è possibile specificare l'etichetta della stringa che identifica il messaggio.

L'etichetta di messaggio è diverso dall'etichetta di coda di messaggi, ma entrambi sono dipendenti dall'applicazione e non hanno alcun significato di ereditarietà per Accodamento messaggi.

Se non si imposta la Formatter proprietà prima di chiamare Send(Object), il formattatore verrà impostato per il XmlMessageFormatter.

Il DefaultPropertiesToSend proprietà si applica a qualsiasi oggetto diverso da un Message. Se si specifica, ad esempio, un'etichetta o una priorità con il DefaultPropertiesToSend membro, questi valori verranno applicati a qualsiasi messaggio contenente un oggetto che non è di tipo Message quando l'applicazione invia alla coda. Quando si invia un Message, impostare i valori delle proprietà per il Message hanno la precedenza su DefaultPropertiesToSend, e il messaggio Message.Formatter avrà la precedenza sulla coda MessageQueue.Formatter proprietà.

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 Send(Object, String, MessageQueueTransactionType).


// Connect to a transactional queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleTransQueue");

// Create a new message.
Message msg = new Message("Example Message Body");

// Send the message.
queue.Send(msg, "Example Message Label",
    MessageQueueTransactionType.Single);

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