IInputChannel.BeginReceive 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.
Inicia uma operação de recebimento assíncrona.
Sobrecargas
| Nome | Description |
|---|---|
| BeginReceive(AsyncCallback, Object) |
Inicia uma operação assíncrona para receber uma mensagem que tem um objeto de estado associado a ela. |
| BeginReceive(TimeSpan, AsyncCallback, Object) |
Inicia uma operação assíncrona para receber uma mensagem que tem um tempo limite especificado e um objeto de estado associado a ela. |
Comentários
Use o método assíncrono BeginReceive quando quiser que o processamento do aplicativo continue sem esperar que a solicitação seja recebida. Use o método síncrono Receive quando for aceitável que o thread atual seja bloqueado até que a mensagem de solicitação seja recebida ou o intervalo de tempo especificado pelo timeout thread tenha sido excedido. A operação assíncrona está disponível com ou sem um tempo limite explícito.
BeginReceive(AsyncCallback, Object)
- Origem:
- IInputChannel.cs
- Origem:
- IInputChannel.cs
- Origem:
- IInputChannel.cs
Inicia uma operação assíncrona para receber uma mensagem que tem um objeto de estado associado a ela.
public:
IAsyncResult ^ BeginReceive(AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive(AsyncCallback callback, object state);
abstract member BeginReceive : AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (callback As AsyncCallback, state As Object) As IAsyncResult
Parâmetros
- callback
- AsyncCallback
O AsyncCallback delegado que recebe a notificação da conclusão da operação assíncrona.
- state
- Object
Um objeto, especificado pelo aplicativo, que contém informações de estado associadas à operação assíncrona.
Retornos
O IAsyncResult que faz referência à recepção de mensagens assíncrona.
Exemplos
O código a seguir ilustra como implementar este método:
public IAsyncResult BeginReceive(AsyncCallback callback, object state)
{
return BeginReceive(DefaultReceiveTimeout, callback, state);
}
Comentários
Use o método assíncrono BeginReceive quando quiser que o processamento do aplicativo continue sem esperar que a solicitação seja recebida. Use o método síncrono Receive quando for aceitável que o thread atual seja bloqueado até que a mensagem de solicitação seja recebida ou o intervalo de tempo especificado pelo timeout thread tenha sido excedido. A operação assíncrona está disponível com ou sem um tempo limite explícito.
Esse método recebe uma notificação, por meio de um retorno de chamada, da identidade do manipulador de eventos da operação. A operação não será concluída até que uma mensagem fique disponível no canal.
Aplica-se a
BeginReceive(TimeSpan, AsyncCallback, Object)
- Origem:
- IInputChannel.cs
- Origem:
- IInputChannel.cs
- Origem:
- IInputChannel.cs
Inicia uma operação assíncrona para receber uma mensagem que tem um tempo limite especificado e um objeto de estado associado a ela.
public:
IAsyncResult ^ BeginReceive(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive(TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginReceive : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult
Parâmetros
- timeout
- TimeSpan
O TimeSpan que especifica o intervalo de tempo para aguardar que uma mensagem fique disponível.
- callback
- AsyncCallback
O AsyncCallback delegado que recebe a notificação da conclusão da operação assíncrona.
- state
- Object
Um objeto, especificado pelo aplicativo, que contém informações de estado associadas à operação assíncrona.
Retornos
O IAsyncResult que faz referência à operação de recebimento assíncrono.
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 IAsyncResult BeginReceive(TimeSpan timeout, AsyncCallback callback, object state)
{
ReceiveAsyncResult<TChannel> result = new ReceiveAsyncResult<TChannel>(this, timeout, callback, state);
result.Begin();
return result;
}
Comentários
Use o método assíncrono BeginReceive quando quiser que o processamento do aplicativo continue sem esperar que a solicitação seja recebida. Use o método síncrono Receive quando for aceitável que o thread atual seja bloqueado até que a mensagem de solicitação seja recebida ou o intervalo de tempo especificado pelo timeout thread tenha sido excedido. A operação assíncrona está disponível com ou sem um tempo limite explícito.
A operação não será concluída até que uma mensagem fique disponível no canal ou o tempo limite ocorra.
Notas aos Implementadores
A operação gerará um TimeoutException se o especificado timeout for excedido antes de ser concluída.