IRequestChannel.BeginRequest Método

Definição

Inicia uma operação assíncrona para transmitir uma mensagem de pedido para o lado de resposta de uma troca de mensagens pedido-resposta.

Sobrecargas

Name Description
BeginRequest(Message, AsyncCallback, Object)

Inicia uma operação assíncrona para transmitir uma mensagem de pedido para o lado de resposta de uma troca de mensagens pedido-resposta.

BeginRequest(Message, TimeSpan, AsyncCallback, Object)

Inicia uma operação assíncrona para transmitir uma mensagem de pedido para o lado de resposta de uma troca de mensagens pedido-resposta dentro de um intervalo de tempo especificado.

BeginRequest(Message, AsyncCallback, Object)

Origem:
IRequestChannel.cs
Origem:
IRequestChannel.cs
Origem:
IRequestChannel.cs

Inicia uma operação assíncrona para transmitir uma mensagem de pedido para o lado de resposta de uma troca de mensagens pedido-resposta.

public:
 IAsyncResult ^ BeginRequest(System::ServiceModel::Channels::Message ^ message, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginRequest(System.ServiceModel.Channels.Message message, AsyncCallback callback, object state);
abstract member BeginRequest : System.ServiceModel.Channels.Message * AsyncCallback * obj -> IAsyncResult
Public Function BeginRequest (message As Message, callback As AsyncCallback, state As Object) As IAsyncResult

Parâmetros

message
Message

O pedido Message a ser transmitido.

callback
AsyncCallback

O AsyncCallback delegado que recebe a notificação da conclusão da operação assíncrona que transmite uma mensagem de pedido.

state
Object

Um objeto, especificado pela aplicação, que contém informação de estado associada à operação assíncrona que transmite uma mensagem de pedido.

Devoluções

O IAsyncResult que faz referência à transmissão assíncrona de mensagens.

Exemplos

O código seguinte mostra como implementar este método.

public IAsyncResult BeginRequest(Message message,
    AsyncCallback callback, object state)
{
    return this.InnerChannel.BeginRequest(message,
        callback, state);
}

Observações

Se a mensagem de pedido for maior do que o tamanho máximo permitido pela ligação utilizada, a QuotaExceededException é lançado. O tamanho máximo da mensagem é definido pela MaxReceivedMessageSize propriedade. O valor padrão é 65536 bytes.

Aplica-se a

BeginRequest(Message, TimeSpan, AsyncCallback, Object)

Origem:
IRequestChannel.cs
Origem:
IRequestChannel.cs
Origem:
IRequestChannel.cs

Inicia uma operação assíncrona para transmitir uma mensagem de pedido para o lado de resposta de uma troca de mensagens pedido-resposta dentro de um intervalo de tempo especificado.

public:
 IAsyncResult ^ BeginRequest(System::ServiceModel::Channels::Message ^ message, TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginRequest(System.ServiceModel.Channels.Message message, TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginRequest : System.ServiceModel.Channels.Message * TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginRequest (message As Message, timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult

Parâmetros

message
Message

O pedido Message a ser transmitido.

timeout
TimeSpan

O TimeSpan que especifica o intervalo de tempo dentro do qual uma resposta deve ser recebida.

callback
AsyncCallback

O AsyncCallback delegado que recebe a notificação da conclusão da operação assíncrona que transmite uma mensagem de pedido.

state
Object

Um objeto, especificado pela aplicação, que contém informação de estado associada à operação assíncrona que transmite uma mensagem de pedido.

Devoluções

O IAsyncResult que faz referência à transmissão assíncrona de mensagens.

Exemplos

O código seguinte mostra como implementar este método:

public IAsyncResult BeginRequest(Message message,
    TimeSpan timeout, AsyncCallback callback,
    object state)
{
    return this.InnerChannel.BeginRequest(message,
        timeout, callback, state);
}

Observações

Se a mensagem de pedido for maior do que o tamanho máximo permitido pela ligação utilizada, um QuotaExceededException deve ser lançado. O tamanho máximo da mensagem é definido pela MaxReceivedMessageSize propriedade. O valor padrão é 65536 bytes.

Se a timeout for passado ao chamar a função, então esse valor é usado. Se o SendTimeout for definido na ligação, então o valor na ligação é usado se não timeout for especificado ao chamar a função.

O DefaultSendTimeout é usado se não for especificado timeout nem na ligação nem durante a chamada da função. Este valor padrão é 1 minuto.

Notas para Implementadores

A operação deve lançar a TimeoutException se o especificado timeout for ultrapassado antes da operação ser concluída.

Aplica-se a