IOutputChannel.BeginSend 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.
Avvia un'operazione asincrona per inviare un messaggio.
Overload
BeginSend(Message, AsyncCallback, Object) |
Inizia un'operazione asincrona per trasmettere un messaggio alla destinazione del canale di output. |
BeginSend(Message, TimeSpan, AsyncCallback, Object) |
Inizia un'operazione asincrona per trasmettere un messaggio alla destinazione del canale di output entro l'intervallo di tempo specificato. |
BeginSend(Message, AsyncCallback, Object)
- Origine:
- IOutputChannel.cs
- Origine:
- IOutputChannel.cs
- Origine:
- IOutputChannel.cs
Inizia un'operazione asincrona per trasmettere un messaggio alla destinazione del canale di output.
public:
IAsyncResult ^ BeginSend(System::ServiceModel::Channels::Message ^ message, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginSend (System.ServiceModel.Channels.Message message, AsyncCallback callback, object state);
abstract member BeginSend : System.ServiceModel.Channels.Message * AsyncCallback * obj -> IAsyncResult
Public Function BeginSend (message As Message, callback As AsyncCallback, state As Object) As IAsyncResult
Parametri
- callback
- AsyncCallback
Delegato AsyncCallback.
- state
- Object
Oggetto, specificato dall'applicazione, che contiene le informazioni sullo stato associate all'operazione asincrona di invio.
Restituisce
Interfaccia IAsyncResult che fa riferimento alla trasmissione del messaggio asincrono.
Esempio
Nell'esempio di codice seguente viene illustrato come implementare questo metodo:
public IAsyncResult BeginReceiveRequest(TimeSpan timeout, AsyncCallback callback, object state)
{
ReceiveRequestAsyncResult result = new ReceiveRequestAsyncResult(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 BeginSend non garantisce che il messaggio venga recapitato all'endpoint remoto. Se sono necessarie garanzie di recapito, utilizzare IOutputSessionChannel.
Se il messaggio inviato è più grande rispetto alla dimensione massima del messaggio consentita dall'associazione in uso, dimensione del messaggio consentita dall'associazione utilizzata, viene generata una classe QuotaExceededException. La dimensione massima del messaggio viene impostata dalla proprietà MaxReceivedMessageSize. Il valore predefinito è 65536 byte.
Si applica a
BeginSend(Message, TimeSpan, AsyncCallback, Object)
- Origine:
- IOutputChannel.cs
- Origine:
- IOutputChannel.cs
- Origine:
- IOutputChannel.cs
Inizia un'operazione asincrona per trasmettere un messaggio alla destinazione del canale di output entro l'intervallo di tempo specificato.
public:
IAsyncResult ^ BeginSend(System::ServiceModel::Channels::Message ^ message, TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginSend (System.ServiceModel.Channels.Message message, TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginSend : System.ServiceModel.Channels.Message * TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginSend (message As Message, timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult
Parametri
- timeout
- TimeSpan
L'oggetto TimeSpan che specifica il tempo disponibile per il completamento prima del timeout dell'operazione di invio.
- callback
- AsyncCallback
Delegato AsyncCallback che riceve la notifica del completamento dell'operazione asincrona di invio.
- state
- Object
Oggetto, specificato dall'applicazione, che contiene le informazioni sullo stato associate all'operazione asincrona di invio.
Restituisce
IAsyncResult fa riferimento all'operazione asincrona di invio.
Esempio
Nell'esempio di codice seguente viene illustrato come implementare questo metodo:
public RequestContext EndReceiveRequest(IAsyncResult result)
{
return ReceiveRequestAsyncResult.End(result);
}
Commenti
La destinazione per messaggi inviati su un canale di output è specificata al momento della creazione del canale.
Il metodo BeginSend non garantisce che il messaggio venga recapitato all'endpoint remoto. Se sono necessarie garanzie di recapito, utilizzare IOutputSessionChannel.
Se il messaggio inviato è più grande rispetto alla dimensione massima del messaggio consentita dall'associazione in uso, dimensione del messaggio consentita dall'associazione utilizzata, viene generata una classe QuotaExceededException. La dimensione massima del messaggio viene impostata dalla proprietà MaxReceivedMessageSize. Il valore predefinito è 65536 byte.
Note per gli implementatori
L'operazione dovrebbe generare un'eccezione TimeoutException se viene superato il timeout
specificato.