IInputChannel.Receive 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í.
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.