Comparteix a través de


IRequestChannel.BeginRequest Método

Definición

Inicia una operación asincrónica para transmitir un mensaje de solicitud al lado correspondiente a la respuesta de un intercambio de mensajes de solicitud y respuesta.

Sobrecargas

BeginRequest(Message, AsyncCallback, Object)

Inicia una operación asincrónica para transmitir un mensaje de solicitud al lado correspondiente a la respuesta de un intercambio de mensajes de solicitud y respuesta.

BeginRequest(Message, TimeSpan, AsyncCallback, Object)

Comienza una operación asincrónica para transmitir un mensaje de solicitud al lado de la respuesta intercambio de mensajes solicitud-respuesta dentro de un intervalo de tiempo especificado.

BeginRequest(Message, AsyncCallback, Object)

Inicia una operación asincrónica para transmitir un mensaje de solicitud al lado correspondiente a la respuesta de un intercambio de mensajes de solicitud y respuesta.

public:
 IAsyncResult ^ BeginRequest(System::ServiceModel::Channels::Message ^ message, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginRequest (System.ServiceModel.Channels.Message message, AsyncCallback callback, object state);
abstract member BeginRequest : System.ServiceModel.Channels.Message * AsyncCallback * obj -> IAsyncResult
Public Function BeginRequest (message As Message, callback As AsyncCallback, state As Object) As IAsyncResult

Parámetros

message
Message

La solicitud Message que se va a transmitir.

callback
AsyncCallback

El delegado AsyncCallback que recibe la notificación de la realización de la operación asincrónica que transmite un mensaje de solicitud.

state
Object

Un objeto, especificado por la aplicación, que contiene información de estado asociada a la operación asincrónica que transmite un mensaje de solicitud.

Devoluciones

IAsyncResult

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

Ejemplos

En el código siguiente se muestra cómo implementar este método.

public IAsyncResult BeginRequest(Message message,
    AsyncCallback callback, object state)
{
    return this.InnerChannel.BeginRequest(message,
        callback, state);
}

Comentarios

Si el mensaje de solicitud 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

BeginRequest(Message, TimeSpan, AsyncCallback, Object)

Comienza una operación asincrónica para transmitir un mensaje de solicitud al lado de la respuesta intercambio de mensajes solicitud-respuesta dentro de un intervalo de tiempo especificado.

public:
 IAsyncResult ^ BeginRequest(System::ServiceModel::Channels::Message ^ message, TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginRequest (System.ServiceModel.Channels.Message message, TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginRequest : System.ServiceModel.Channels.Message * TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginRequest (message As Message, timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult

Parámetros

message
Message

La solicitud Message que se va a transmitir.

timeout
TimeSpan

TimeSpan que especifica el intervalo de tiempo dentro del cual se debe recibir una respuesta.

callback
AsyncCallback

El delegado AsyncCallback que recibe la notificación de la realización de la operación asincrónica que transmite un mensaje de solicitud.

state
Object

Un objeto, especificado por la aplicación, que contiene información de estado asociada a la operación asincrónica que transmite un mensaje de solicitud.

Devoluciones

IAsyncResult

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

Ejemplos

En el código siguiente se muestra cómo implementar este método:

public IAsyncResult BeginRequest(Message message,
    TimeSpan timeout, AsyncCallback callback,
    object state)
{
    return this.InnerChannel.BeginRequest(message,
        timeout, callback, state);
}

Comentarios

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

Si se pasa timeout mientras se llama a la función, se utiliza ese valor. Si SendTimeout se establece en el enlace, se utiliza el valor en el enlace si no se especifica timeout mientras se llama a la función.

DefaultSendTimeout se utiliza si no se especifica el tiempo de espera en el enlace o mientras se llama a la función. Este valor predeterminado es 1 minuto.

Notas a los implementadores

La operación debería iniciar TimeoutException si se supera el timeout especificado antes de que se complete la operación.

Se aplica a