IOutputChannel.BeginSend Método

Definición

Comienza una operación asincrónica para enviar un mensaje.

Sobrecargas

BeginSend(Message, AsyncCallback, Object)

Comienza una operación asincrónica para transmitir un mensaje al destino del canal de salida.

BeginSend(Message, TimeSpan, AsyncCallback, Object)

Comienza una operación asincrónica para transmitir un mensaje al destino del canal de salida dentro de un intervalo de tiempo especificado.

BeginSend(Message, AsyncCallback, Object)

Comienza una operación asincrónica para transmitir un mensaje al destino del canal de salida.

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

Parámetros

message
Message

El Message que se está enviando en el canal de salida.

callback
AsyncCallback

Delegado AsyncCallback.

state
Object

Objeto, especificado por la aplicación, que contiene información de estado asociada a la operación de envío asincrónica.

Devoluciones

IAsyncResult

IAsyncResult que hace referencia a la transmisión asincrónica de un mensaje.

Ejemplos

El código siguiente muestra cómo implementar este método:

public IAsyncResult BeginReceiveRequest(TimeSpan timeout, AsyncCallback callback, object state)
{
    ReceiveRequestAsyncResult result = new ReceiveRequestAsyncResult(this, timeout, callback, state);
    result.Begin();
    return result;
}

Comentarios

El destino para los mensajes enviados en un canal de salida se especifica en la hora de creación del canal.

El método BeginSend no garantiza la entrega de mensaje al extremo remoto. Si se requieren garantías de la entrega, utilice IOutputSessionChannel.

Si el mensaje enviado es mayor que el tamaño de mensaje máximo permitido por el enlace utilizado, se inicia QuotaExceededException. La propiedad MaxReceivedMessageSize establece el tamaño del mensaje máximo. El valor predeterminado es 65 536 bytes.

Se aplica a

BeginSend(Message, TimeSpan, AsyncCallback, Object)

Comienza una operación asincrónica para transmitir un mensaje al destino del canal de salida dentro de un intervalo de tiempo especificado.

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

Parámetros

message
Message

El Message que se está enviando en el canal de salida.

timeout
TimeSpan

El objeto TimeSpan que especifica el tiempo con el que cuenta la operación de envío para completarse antes de que se agote el tiempo de espera.

callback
AsyncCallback

El delegado AsyncCallback que recibe la notificación de la finalización de la operación de envío asincrónica.

state
Object

Objeto, especificado por la aplicación, que contiene información de estado asociada a la operación de envío asincrónica.

Devoluciones

IAsyncResult

IAsyncResult que hace referencia a la operación de envío asincrónica.

Ejemplos

El código siguiente muestra cómo implementar este método:

public RequestContext EndReceiveRequest(IAsyncResult result)
{
    return ReceiveRequestAsyncResult.End(result);
}

Comentarios

El destino para los mensajes enviados en un canal de salida se especifica en la hora de creación del canal.

El método BeginSend no garantiza la entrega de mensaje al extremo remoto. Si se requieren garantías de la entrega, utilice IOutputSessionChannel.

Si el mensaje enviado es mayor que el tamaño de mensaje máximo permitido por el enlace utilizado, se inicia QuotaExceededException. La propiedad MaxReceivedMessageSize establece el tamaño del mensaje máximo. El valor predeterminado es 65 536 bytes.

Notas a los implementadores

La operación debería iniciar TimeoutException si se supera el timeout especificado.

Se aplica a