IInputChannel.Receive Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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 | Description |
|---|---|
| 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.