IInputChannel.BeginReceive Método
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.
BeginReceive(AsyncCallback, Object) |
Inicia uma operação assíncrona para receber uma mensagem que tem um objeto de estado associado. |
BeginReceive(TimeSpan, AsyncCallback, Object) |
Inicia uma operação assíncrona para receber uma mensagem que tem um tempo limite e um objeto de estado especificados associados. |
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
tenha sido excedido. A operação assíncrona está disponível com ou sem um tempo limite explícito.
- Origem:
- IInputChannel.cs
- Origem:
- IInputChannel.cs
- Origem:
- netstandard.cs
Inicia uma operação assíncrona para receber uma mensagem que tem um objeto de estado associado.
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 delegado de AsyncCallback que receberá a notificação da conclusão da operação assíncrona.
- state
- Object
Um objeto, especificado pelo aplicativo, que contém informações associadas à operação assíncrona.
Retornos
O IAsyncResult que faz referência à recepção de mensagens assíncronas.
Exemplos
O código a seguir ilustra como implementar esse 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
tenha sido excedido. A operação assíncrona está disponível com ou sem um tempo limite explícito.
Esse método recebe notificação, por meio de um retorno de chamada, da identidade do manipulador de eventos para a operação. A operação não é concluída até que uma mensagem fique disponível no canal.
Aplica-se a
.NET 9 (package-provided) e outras versões
Produto | Versões |
---|---|
.NET | Core 1.0, Core 1.1, 8 (package-provided), 9 (package-provided) |
.NET Framework | 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 (package-provided), 4.7, 4.7.1 (package-provided), 4.7.1, 4.7.2 (package-provided), 4.7.2, 4.8 (package-provided), 4.8, 4.8.1 |
.NET Standard | 2.0 (package-provided) |
UWP | 10.0 |
- Origem:
- IInputChannel.cs
- Origem:
- IInputChannel.cs
- Origem:
- netstandard.cs
Inicia uma operação assíncrona para receber uma mensagem que tem um tempo limite e um objeto de estado especificados associados.
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 especifica o intervalo de tempo durante o qual aguardar a disponibilidade de uma mensagem.
- callback
- AsyncCallback
O delegado de AsyncCallback que receberá a notificação da conclusão da operação assíncrona.
- state
- Object
Um objeto, especificado pelo aplicativo, que contém informações associadas à operação assíncrona.
Retornos
O IAsyncResult que referencia a operação de recebimento assíncrona.
Exceções
O timeout
especificado é ultrapassado antes que a operação seja concluída.
O tempo limite especificado é menor que zero.
Exemplos
O código a seguir ilustra como implementar esse 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
tenha sido excedido. A operação assíncrona está disponível com ou sem um tempo limite explícito.
A operação não é 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ído.
Aplica-se a
.NET 9 (package-provided) e outras versões
Produto | Versões |
---|---|
.NET | Core 1.0, Core 1.1, 8 (package-provided), 9 (package-provided) |
.NET Framework | 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 (package-provided), 4.7, 4.7.1 (package-provided), 4.7.1, 4.7.2 (package-provided), 4.7.2, 4.8 (package-provided), 4.8, 4.8.1 |
.NET Standard | 2.0 (package-provided) |
UWP | 10.0 |
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: