IRequestChannel.BeginRequest Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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 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
- 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 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.