IInputChannel.BeginReceive Método

Definição

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.

Aplica-se a