Idioma

IInputChannel.Receive Método

Definição

Devolve uma mensagem recebida pelo canal de entrada, se estiver disponível com um intervalo de tempo que esteja explicitamente ou implicitamente definido.

Sobrecargas

Name Descrição
Receive()

Devolve a mensagem recebida, caso exista disponível. Se uma mensagem não estiver disponível, bloqueia-a por um intervalo de tempo predefinido.

Receive(TimeSpan)

Devolve a mensagem recebida, caso exista disponível. Se uma mensagem não estiver disponível, bloqueia-se durante um intervalo de tempo especificado.

Observações

Use o método síncrono Receive quando for aceitável que a thread atual seja bloqueada até receber a mensagem de pedido ou ultrapassar o intervalo de tempo especificado por timeout. Use o método assíncrono BeginReceive quando precisar que o processamento da candidatura continue sem esperar que o pedido seja recebido.

A operação síncrona Receive está disponível com ou sem um timeout explícito.

Se uma mensagem não estiver disponível, bloqueia-se até que uma esteja disponível ou até que o timeout seja ultrapassado.

Receive()

Origem:
IInputChannel.cs
Origem:
IInputChannel.cs
Origem:
IInputChannel.cs

Devolve a mensagem recebida, caso exista disponível. Se uma mensagem não estiver disponível, bloqueia-a por um intervalo de tempo predefinido.

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

Devoluções

O Message recebido.

Exemplos

O seguinte código ilustra como implementar este método:

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

Observações

Use o método síncrono Receive quando for aceitável que a thread atual seja bloqueada até receber a mensagem de pedido ou ultrapassar o intervalo de tempo especificado por timeout. Use o método assíncrono BeginReceive quando quiser que o processamento da candidatura continue sem esperar que o pedido seja recebido.

A operação síncrona Receive está disponível com ou sem um timeout explícito.

Se uma mensagem não estiver disponível, bloqueia-se até que uma esteja disponível ou até que o timeout seja ultrapassado.

Receive pode ser chamada várias vezes ou em simultâneo. Apenas uma Receive chamada pode ser concluída por cada mensagem recebida.

Aplica-se a

Receive(TimeSpan)

Origem:
IInputChannel.cs
Origem:
IInputChannel.cs
Origem:
IInputChannel.cs

Devolve a mensagem recebida, caso exista disponível. Se uma mensagem não estiver disponível, bloqueia-se durante um intervalo de tempo 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

O TimeSpan que especifica quanto tempo a operação de receção tem para ser concluída antes de expirar e lançar um TimeoutException.

Devoluções

O Message recebido.

Exceções

O especificado timeout é ultrapassado antes da operação ser concluída.

O tempo de espera especificado é inferior a zero.

Exemplos

O seguinte código ilustra como 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;
}

Observações

Use o método síncrono Receive quando for aceitável que a thread atual seja bloqueada até receber a mensagem de pedido ou ultrapassar o intervalo de tempo especificado por timeout. Use o método assíncrono BeginReceive quando quiser que o processamento da candidatura continue sem esperar que o pedido seja recebido.

A operação síncrona Receive está disponível com ou sem um timeout explícito.

Se uma mensagem não estiver disponível, bloqueia-se até que uma esteja disponível ou até que o timeout seja ultrapassado.

Receive pode ser chamada várias vezes ou em simultâneo. Apenas uma Receive chamada pode ser concluída por cada mensagem recebida.

Aplica-se a