Compartilhar via


IRequestChannel.BeginRequest Método

Definição

Inicia uma operação assíncrona para transmitir uma mensagem de solicitação para o lado da resposta de uma troca de mensagens solicitação/resposta.

Sobrecargas

BeginRequest(Message, AsyncCallback, Object)

Inicia uma operação assíncrona para transmitir uma mensagem de solicitação para o lado da resposta de uma troca de mensagens solicitação/resposta.

BeginRequest(Message, TimeSpan, AsyncCallback, Object)

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

BeginRequest(Message, AsyncCallback, Object)

Inicia uma operação assíncrona para transmitir uma mensagem de solicitação para o lado da resposta de uma troca de mensagens solicitação/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

A solicitação Message a ser transmitida.

callback
AsyncCallback

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

state
Object

Um objeto, especificado pelo aplicativo, que contém informações de estado associadas à operação assíncrona que transmite uma mensagem de solicitação.

Retornos

IAsyncResult

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

Exemplos

O código a seguir mostra como implementar esse método.

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

Comentários

Se a mensagem de solicitação for maior que o tamanho máximo da mensagem permitido pela associação que está sendo usada, um QuotaExceededException será gerado. O tamanho máximo da mensagem é definido pela MaxReceivedMessageSize propriedade. O valor padrão é 65536 bytes.

Aplica-se a

BeginRequest(Message, TimeSpan, AsyncCallback, Object)

Inicia uma operação assíncrona para transmitir uma mensagem de solicitação para o lado da resposta de uma troca de mensagens solicitação/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

A solicitação Message a ser transmitida.

timeout
TimeSpan

O TimeSpan que especifica o intervalo de tempo em que uma resposta deve ser recebida.

callback
AsyncCallback

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

state
Object

Um objeto, especificado pelo aplicativo, que contém informações de estado associadas à operação assíncrona que transmite uma mensagem de solicitação.

Retornos

IAsyncResult

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

Exemplos

O código a seguir 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);
}

Comentários

Se a mensagem de solicitação for maior que o tamanho máximo da mensagem permitido pela associação que está sendo usada, um QuotaExceededException deve ser gerado. O tamanho máximo da mensagem é definido pela MaxReceivedMessageSize propriedade. O valor padrão é 65536 bytes.

Se um timeout for passado ao chamar a função, esse valor será usado. Se o SendTimeout valor for definido na associação, o valor na associação será usado se não timeout for especificado ao chamar a função.

O DefaultSendTimeout valor será usado se nenhum tempo limite for especificado na associação ou ao chamar a função. Esse valor padrão é de 1 minuto.

Notas aos Implementadores

A operação deverá gerar um TimeoutException caso o especificado timeout seja excedido antes da conclusão da operação.

Aplica-se a