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 sul canale di output corrente.
Overload
Send(Message) |
Trasmette un messaggio alla destinazione del canale di output. |
Send(Message, TimeSpan) |
Invia un messaggio sul canale di output corrente entro l'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
Nell'esempio di codice seguente viene illustrato 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 messaggi inviati su un canale di output è specificata al momento della creazione del canale.
Il metodo Send non garantisce che il messaggio venga recapitato all'endpoint remoto. Un'implementazione di IOutputChannel può rilasciare silenziosamente messaggi per molteplici ragioni. Nel buffer, ad esempio, potrebbe non esserci più spazio. Se sono necessarie garanzie di recapito, utilizzare IOutputSessionChannel.
Il passaggio del messaggio nel canale di output fa sì che venga utilizzato. Dopo aver effettuato la chiamata a Send, non è più possibile controllare il messaggio o chiamare Close sul messaggio.
Si applica a
Send(Message, TimeSpan)
- Origine:
- IOutputChannel.cs
- Origine:
- IOutputChannel.cs
- Origine:
- IOutputChannel.cs
Invia un messaggio sul canale di output corrente entro l'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
L'oggetto TimeSpan che specifica il tempo disponibile per il completamento prima del timeout dell'operazione di invio.
Esempio
Nell'esempio di codice seguente viene illustrato come implementare questo metodo:
public bool EndTryReceiveRequest(IAsyncResult result, out RequestContext requestContext)
{
return TryReceiveRequestAsyncResult.End(result, out requestContext);
}
Commenti
La destinazione per messaggi inviati su un canale di output è specificata al momento della creazione del canale.
Il metodo Send non garantisce che il messaggio venga recapitato all'endpoint remoto. Un'implementazione di IOutputChannel può rilasciare silenziosamente messaggi per molteplici ragioni. Nel buffer, ad esempio, potrebbe non esserci più spazio. Se sono necessarie garanzie di recapito, utilizzare IOutputSessionChannel.
Il passaggio del messaggio nel canale di output fa sì che venga utilizzato. Dopo aver effettuato la chiamata a Send, non è più possibile controllare il messaggio o chiamare Close sul messaggio.
Note per gli implementatori
L'operazione dovrebbe generare un'eccezione TimeoutException se viene superato il timeout
specificato.