IOutputChannel.Send 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.
Invia un messaggio nel canale di output corrente.
Overload
| Nome | Descrizione |
|---|---|
| Send(Message) |
Trasmette un messaggio alla destinazione del canale di output. |
| Send(Message, TimeSpan) |
Invia un messaggio nel canale di output corrente entro un intervallo di tempo specificato. |
Send(Message)
- Origine:
- IOutputChannel.cs
- Origine:
- IOutputChannel.cs
- Origine:
- IOutputChannel.cs
Trasmette un messaggio alla destinazione del canale di output.
public:
void Send(System::ServiceModel::Channels::Message ^ message);
public void Send(System.ServiceModel.Channels.Message message);
abstract member Send : System.ServiceModel.Channels.Message -> unit
Public Sub Send (message As Message)
Parametri
Esempio
Il codice seguente illustra come implementare questo metodo:
public IAsyncResult BeginTryReceiveRequest(TimeSpan timeout, AsyncCallback callback, object state)
{
TryReceiveRequestAsyncResult result = new TryReceiveRequestAsyncResult(this, timeout, callback, state);
result.Begin();
return result;
}
Commenti
La destinazione per i messaggi inviati in un canale di output viene specificata al momento della creazione del canale.
Il Send metodo non garantisce il recapito del messaggio all'endpoint remoto. Un'implementazione di IOutputChannel può eliminare automaticamente i messaggi per diversi motivi. Potrebbe non esserci più spazio buffer, ad esempio. Se sono necessarie garanzie di recapito, usare IOutputSessionChannel.
Il passaggio del messaggio nel canale di output determina l'utilizzo del messaggio. Dopo aver chiamato Send, non è più possibile esaminare il messaggio o chiamare Close il messaggio.
Si applica a
Send(Message, TimeSpan)
- Origine:
- IOutputChannel.cs
- Origine:
- IOutputChannel.cs
- Origine:
- IOutputChannel.cs
Invia un messaggio nel canale di output corrente entro un intervallo di tempo specificato.
public:
void Send(System::ServiceModel::Channels::Message ^ message, TimeSpan timeout);
public void Send(System.ServiceModel.Channels.Message message, TimeSpan timeout);
abstract member Send : System.ServiceModel.Channels.Message * TimeSpan -> unit
Public Sub Send (message As Message, timeout As TimeSpan)
Parametri
- timeout
- TimeSpan
Oggetto TimeSpan che specifica per quanto tempo l'operazione di invio deve essere completata prima del timeout.
Esempio
Il codice seguente illustra come implementare questo metodo:
public bool EndTryReceiveRequest(IAsyncResult result, out RequestContext requestContext)
{
return TryReceiveRequestAsyncResult.End(result, out requestContext);
}
Commenti
La destinazione per i messaggi inviati in un canale di output viene specificata al momento della creazione del canale.
Il Send metodo non garantisce il recapito del messaggio all'endpoint remoto. Un'implementazione di IOutputChannel può eliminare automaticamente i messaggi per diversi motivi. Potrebbe non esserci più spazio buffer, ad esempio. Se sono necessarie garanzie di recapito, usare IOutputSessionChannel.
Il passaggio del messaggio nel canale di output determina l'utilizzo del messaggio. Dopo aver chiamato Send, non è più possibile esaminare il messaggio o chiamare Close il messaggio.
Note per gli implementatori
L'operazione deve generare un'eccezione TimeoutException se l'oggetto specificato timeout viene superato.