IInputChannel.Receive Método

Definición

Devuelve un mensaje recibido por el canal de entrada, si uno está disponible con un intervalo de tiempo que se define explícita o implícitamente.

Sobrecargas

Nombre Description
Receive()

Devuelve el mensaje recibido, si hay uno disponible. Si un mensaje no está disponible, bloquea un intervalo de tiempo predeterminado.

Receive(TimeSpan)

Devuelve el mensaje recibido, si hay uno disponible. Si un mensaje no está disponible, bloquea un intervalo de tiempo especificado.

Comentarios

Use el método sincrónico Receive cuando sea aceptable que el subproceso actual se bloquee hasta que reciba el mensaje de solicitud o supere el intervalo de tiempo especificado por timeout. Use el método asincrónico BeginReceive cuando necesite que el procesamiento de la aplicación continúe sin esperar a que se reciba la solicitud.

La operación sincrónica Receive está disponible con o sin un tiempo de espera explícito.

Si un mensaje no está disponible, se bloquea hasta que uno esté disponible o hasta que se supere el tiempo de espera.

Receive()

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

Devuelve el mensaje recibido, si hay uno disponible. Si un mensaje no está disponible, bloquea un intervalo de tiempo predeterminado.

public:
 System::ServiceModel::Channels::Message ^ Receive();
public System.ServiceModel.Channels.Message Receive();
abstract member Receive : unit -> System.ServiceModel.Channels.Message
Public Function Receive () As Message

Devoluciones

El Message objeto recibido.

Ejemplos

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

public Message Receive()
{
    return Receive(DefaultReceiveTimeout);
}

Comentarios

Use el método sincrónico Receive cuando sea aceptable que el subproceso actual se bloquee hasta que reciba el mensaje de solicitud o supere el intervalo de tiempo especificado por timeout. 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.

La operación sincrónica Receive está disponible con o sin un tiempo de espera explícito.

Si un mensaje no está disponible, se bloquea hasta que uno esté disponible o hasta que se supere el tiempo de espera.

Receive se puede llamar varias veces o simultáneamente. Solo se puede completar una Receive llamada para cada mensaje recibido.

Se aplica a

Receive(TimeSpan)

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

Devuelve el mensaje recibido, si hay uno disponible. Si un mensaje no está disponible, bloquea un intervalo de tiempo especificado.

public:
 System::ServiceModel::Channels::Message ^ Receive(TimeSpan timeout);
public System.ServiceModel.Channels.Message Receive(TimeSpan timeout);
abstract member Receive : TimeSpan -> System.ServiceModel.Channels.Message
Public Function Receive (timeout As TimeSpan) As Message

Parámetros

timeout
TimeSpan

TimeSpan que especifica cuánto tiempo debe completarse la operación de recepción antes de que se agote el tiempo de espera e inicie un TimeoutException.

Devoluciones

El Message objeto recibido.

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 Message Receive(TimeSpan timeout)
{
    Message message;
    while (true)
    {
        message = this.InnerChannel.Receive(timeout);
        if (ProcessReceivedMessage(ref message))
        {
            break;
        }
    }

    return message;
}

Comentarios

Use el método sincrónico Receive cuando sea aceptable que el subproceso actual se bloquee hasta que reciba el mensaje de solicitud o supere el intervalo de tiempo especificado por timeout. 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.

La operación sincrónica Receive está disponible con o sin un tiempo de espera explícito.

Si un mensaje no está disponible, se bloquea hasta que uno esté disponible o hasta que se supere el tiempo de espera.

Receive se puede llamar varias veces o simultáneamente. Solo se puede completar una Receive llamada para cada mensaje recibido.

Se aplica a