IInputChannel.BeginReceive Método

Definición

Inicia una operación de recepción asincrónica.

Sobrecargas

Nombre Description
BeginReceive(AsyncCallback, Object)

Comienza una operación asincrónica para recibir un mensaje que tiene un objeto de estado asociado a él.

BeginReceive(TimeSpan, AsyncCallback, Object)

Inicia una operación asincrónica para recibir un mensaje que tiene un tiempo de espera y un objeto de estado especificado asociado a él.

Comentarios

Use el método asincrónico BeginReceive cuando desee que el procesamiento de la aplicación continúe sin esperar a que se reciba la solicitud. Use el método sincrónico Receive cuando sea aceptable que el subproceso actual se bloquee hasta que se reciba el mensaje de solicitud o se haya superado el intervalo de tiempo especificado por .timeout La operación asincrónica está disponible con o sin un tiempo de espera explícito.

BeginReceive(AsyncCallback, Object)

Source:
IInputChannel.cs
Source:
IInputChannel.cs
Source:
IInputChannel.cs

Comienza una operación asincrónica para recibir un mensaje que tiene un objeto de estado asociado a él.

public:
 IAsyncResult ^ BeginReceive(AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive(AsyncCallback callback, object state);
abstract member BeginReceive : AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (callback As AsyncCallback, state As Object) As IAsyncResult

Parámetros

callback
AsyncCallback

AsyncCallback Delegado que recibe la notificación de la finalización de la operación asincrónica.

state
Object

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

Devoluciones

que IAsyncResult hace referencia a la recepción asincrónica de mensajes.

Ejemplos

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

public IAsyncResult BeginReceive(AsyncCallback callback, object state)
{
    return BeginReceive(DefaultReceiveTimeout, callback, state);
}

Comentarios

Use el método asincrónico BeginReceive cuando desee que el procesamiento de la aplicación continúe sin esperar a que se reciba la solicitud. Use el método sincrónico Receive cuando sea aceptable que el subproceso actual se bloquee hasta que se reciba el mensaje de solicitud o se haya superado el intervalo de tiempo especificado por .timeout La operación asincrónica está disponible con o sin un tiempo de espera explícito.

Este método recibe una notificación, a través de una devolución de llamada, de la identidad del controlador de eventos para la operación. La operación no se completa hasta que un mensaje esté disponible en el canal.

Se aplica a

BeginReceive(TimeSpan, AsyncCallback, Object)

Source:
IInputChannel.cs
Source:
IInputChannel.cs
Source:
IInputChannel.cs

Inicia una operación asincrónica para recibir un mensaje que tiene un tiempo de espera y un objeto de estado especificado asociado a él.

public:
 IAsyncResult ^ BeginReceive(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive(TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginReceive : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult

Parámetros

timeout
TimeSpan

TimeSpan que especifica el intervalo de tiempo para esperar a que un mensaje esté disponible.

callback
AsyncCallback

AsyncCallback Delegado que recibe la notificación de la finalización de la operación asincrónica.

state
Object

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

Devoluciones

IAsyncResult que hace referencia a la operación de recepción asincrónica.

Excepciones

El especificado timeout se supera antes de que se complete la operación.

El tiempo de espera especificado es menor que cero.

Ejemplos

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

public IAsyncResult BeginReceive(TimeSpan timeout, AsyncCallback callback, object state)
{
    ReceiveAsyncResult<TChannel> result = new ReceiveAsyncResult<TChannel>(this, timeout, callback, state);
    result.Begin();
    return result;
}

Comentarios

Use el método asincrónico BeginReceive cuando desee que el procesamiento de la aplicación continúe sin esperar a que se reciba la solicitud. Use el método sincrónico Receive cuando sea aceptable que el subproceso actual se bloquee hasta que se reciba el mensaje de solicitud o se haya superado el intervalo de tiempo especificado por .timeout La operación asincrónica está disponible con o sin un tiempo de espera explícito.

La operación no se completa hasta que un mensaje esté disponible en el canal o se agote el tiempo de espera.

Notas a los implementadores

La operación produce un TimeoutException si se supera el especificado timeout antes de que se complete.

Se aplica a