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 está disponible con un intervalo de tiempo definido de forma explícita o implícita.
Sobrecargas
Receive() |
Devuelve el mensaje recibido si está disponible. Si no hay un mensaje disponible, se bloquea durante un intervalo de tiempo predeterminado. |
Receive(TimeSpan) |
Devuelve el mensaje recibido si está disponible. Si no hay un mensaje disponible, se bloquea durante un intervalo de tiempo especificado. |
Comentarios
Utilice el método Receive sincrónico cuando sea aceptable bloquear el subproceso actual hasta que reciba el mensaje de solicitud o supere el intervalo de tiempo especificado por timeout
. Si es necesario que la aplicación siga realizando sus procesos sin esperar a recibir la solicitud, hay que utilizar el método asincrónico BeginReceive.
La operación Receive sincrónica está disponible con o sin un tiempo de espera explícito.
Si no hay un mensaje disponible, se bloquea hasta que uno esté disponible o hasta que se supere el tiempo de espera.
Receive()
- Source:
- IInputChannel.cs
- Source:
- IInputChannel.cs
Devuelve el mensaje recibido si está disponible. Si no hay un mensaje disponible, se bloquea durante 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
Message recibido.
Ejemplos
El código siguiente muestra cómo implementar este método:
public Message Receive()
{
return Receive(DefaultReceiveTimeout);
}
Comentarios
Utilice el método Receive sincrónico cuando sea aceptable bloquear el subproceso actual hasta que reciba el mensaje de solicitud o supere el intervalo de tiempo especificado por timeout
. Si desea que la aplicación siga realizando sus procesos sin esperar a recibir la solicitud, hay que utilizar el método asincrónico BeginReceive.
La operación Receive sincrónica está disponible con o sin un tiempo de espera explícito.
Si no hay un mensaje disponible, se bloquea hasta que uno esté disponible o hasta que se supere el tiempo de espera.
Se puede llamar Receive varias veces o simultáneamente. Sólo se puede completar una llamada Receive por cada mensaje recibido.
Se aplica a
Receive(TimeSpan)
- Source:
- IInputChannel.cs
- Source:
- IInputChannel.cs
Devuelve el mensaje recibido si está disponible. Si no hay un mensaje disponible, se bloquea durante 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 tiene una operación de recepción antes de expirar e iniciar TimeoutException.
Devoluciones
Message recibido.
Excepciones
Se supera el timeout
especificado antes de que se complete la operación.
El tiempo de espera especificado es menor que cero.
Ejemplos
El código siguiente 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
Utilice el método Receive sincrónico cuando sea aceptable bloquear el subproceso actual hasta que reciba el mensaje de solicitud o supere el intervalo de tiempo especificado por timeout
. Si desea que la aplicación siga realizando sus procesos sin esperar a recibir la solicitud, hay que utilizar el método asincrónico BeginReceive.
La operación Receive sincrónica está disponible con o sin un tiempo de espera explícito.
Si no hay un mensaje disponible, se bloquea hasta que uno esté disponible o hasta que se supere el tiempo de espera.
Se puede llamar Receive varias veces o simultáneamente. Sólo se puede completar una llamada Receive por cada mensaje recibido.