IInputChannel.Receive Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.