IInputChannel.Receive Método

Definição

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

Sobrecargas

Nome Description
Receive()

Retorna a mensagem recebida, se houver uma disponível. Se uma mensagem não estiver disponível, bloqueará um intervalo de tempo padrão.

Receive(TimeSpan)

Retorna a mensagem recebida, se houver uma disponível. Se uma mensagem não estiver disponível, bloqueará um intervalo de tempo especificado.

Comentários

Use o método síncrono Receive quando for aceitável que o thread atual seja bloqueado até receber a mensagem de solicitação ou exceder o intervalo de tempo especificado por timeout. Use o método assíncrono BeginReceive quando precisar que o processamento do aplicativo continue sem esperar que a solicitação seja recebida.

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

Se uma mensagem não estiver disponível, ela será bloqueada até que uma esteja disponível ou até que o tempo limite seja excedido.

Receive()

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

Retorna a mensagem recebida, se houver uma disponível. Se uma mensagem não estiver disponível, bloqueará um intervalo de tempo padrão.

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

Retornos

O Message recebido.

Exemplos

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

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

Comentários

Use o método síncrono Receive quando for aceitável que o thread atual seja bloqueado até receber a mensagem de solicitação ou exceder o intervalo de tempo especificado por timeout. Use o método assíncrono BeginReceive quando quiser que o processamento do aplicativo continue sem esperar que a solicitação seja recebida.

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

Se uma mensagem não estiver disponível, ela será bloqueada até que uma esteja disponível ou até que o tempo limite seja excedido.

Receive pode ser chamado várias vezes ou simultaneamente. Somente uma Receive chamada pode ser concluída para cada mensagem recebida.

Aplica-se a

Receive(TimeSpan)

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

Retorna a mensagem recebida, se houver uma disponível. Se uma mensagem não estiver disponível, bloqueará 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 recebimento precisa ser concluída antes de atingir o tempo limite e gerar um TimeoutException.

Retornos

O Message recebido.

Exceções

O especificado timeout é excedido antes da conclusão da operação.

O tempo limite especificado é menor que zero.

Exemplos

O código a seguir 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;
}

Comentários

Use o método síncrono Receive quando for aceitável que o thread atual seja bloqueado até receber a mensagem de solicitação ou exceder o intervalo de tempo especificado por timeout. Use o método assíncrono BeginReceive quando quiser que o processamento do aplicativo continue sem esperar que a solicitação seja recebida.

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

Se uma mensagem não estiver disponível, ela será bloqueada até que uma esteja disponível ou até que o tempo limite seja excedido.

Receive pode ser chamado várias vezes ou simultaneamente. Somente uma Receive chamada pode ser concluída para cada mensagem recebida.

Aplica-se a