IInputChannel.BeginReceive 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.
Inicia uma operação de receção assíncrona.
Sobrecargas
| Name | Description |
|---|---|
| BeginReceive(AsyncCallback, Object) |
Inicia uma operação assíncrona para receber uma mensagem que tenha um objeto de estado associado. |
| BeginReceive(TimeSpan, AsyncCallback, Object) |
Inicia uma operação assíncrona para receber uma mensagem que tenha um time out e um objeto de estado especificados associados. |
Observações
Use o método assíncrono BeginReceive quando quiser que o processamento da candidatura continue sem esperar que o pedido seja recebido. Utilize o método síncrono Receive quando for aceitável que a thread atual seja bloqueada até que a mensagem de pedido seja recebida ou o intervalo de tempo especificado por o timeout tenha sido ultrapassado. A operação assíncrona está disponível com ou sem um timeout 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 tenha 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 AsyncCallback delegado que recebe a notificação da conclusão da operação assíncrona.
- state
- Object
Um objeto, especificado pela aplicação, que contém informação de estado associada à operação assíncrona.
Devoluções
O IAsyncResult que se refere à receção assíncrona de mensagens.
Exemplos
O seguinte código ilustra como implementar este método:
public IAsyncResult BeginReceive(AsyncCallback callback, object state)
{
return BeginReceive(DefaultReceiveTimeout, callback, state);
}
Observações
Use o método assíncrono BeginReceive quando quiser que o processamento da candidatura continue sem esperar que o pedido seja recebido. Utilize o método síncrono Receive quando for aceitável que a thread atual seja bloqueada até que a mensagem de pedido seja recebida ou o intervalo de tempo especificado por o timeout tenha sido ultrapassado. A operação assíncrona está disponível com ou sem um timeout explícito.
Este método recebe notificação, através de um callback, da identidade do gestor de eventos da operação. A operação não está concluída até que uma mensagem esteja 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 tenha um time out 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 que especifica o intervalo de tempo para esperar que uma mensagem se torne 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 pela aplicação, que contém informação de estado associada à operação assíncrona.
Devoluções
O IAsyncResult que faz referência à operação de receção assíncrona.
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 IAsyncResult BeginReceive(TimeSpan timeout, AsyncCallback callback, object state)
{
ReceiveAsyncResult<TChannel> result = new ReceiveAsyncResult<TChannel>(this, timeout, callback, state);
result.Begin();
return result;
}
Observações
Use o método assíncrono BeginReceive quando quiser que o processamento da candidatura continue sem esperar que o pedido seja recebido. Utilize o método síncrono Receive quando for aceitável que a thread atual seja bloqueada até que a mensagem de pedido seja recebida ou o intervalo de tempo especificado por o timeout tenha sido ultrapassado. A operação assíncrona está disponível com ou sem um timeout explícito.
A operação não está concluída até que uma mensagem esteja disponível no canal ou ocorra o timeout.
Notas para Implementadores
A operação lança a TimeoutException se o especificado timeout for ultrapassado antes de ser concluído.