IRequestChannel.Request Método

Definição

Envia um pedido baseado em mensagem e devolve a resposta correlacionada baseada em mensagens.

Sobrecargas

Name Description
Request(Message)

Envia um pedido baseado em mensagem e devolve a resposta correlacionada baseada em mensagens.

Request(Message, TimeSpan)

Envia um pedido baseado em mensagem e retorna a resposta correlacionada baseada em mensagens dentro de um intervalo de tempo especificado.

Request(Message)

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

Envia um pedido baseado em mensagem e devolve a resposta correlacionada baseada em mensagens.

public:
 System::ServiceModel::Channels::Message ^ Request(System::ServiceModel::Channels::Message ^ message);
public System.ServiceModel.Channels.Message Request(System.ServiceModel.Channels.Message message);
abstract member Request : System.ServiceModel.Channels.Message -> System.ServiceModel.Channels.Message
Public Function Request (message As Message) As Message

Parâmetros

message
Message

O pedido Message a ser transmitido.

Devoluções

Receberam Message em resposta ao pedido.

Exemplos

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

public Message Request(Message message)
{
    return this.InnerChannel.Request(message);
}

Observações

Implementações de IRequestChannel garantir que a mensagem de resposta está correlacionada com a mensagem de pedido.

Geralmente, se uma implementação de IRequestChannel recebe uma mensagem que não está correlacionada com um pedido pendente, esta é cancelada.

O Request método pode ser chamado simultaneamente através de múltiplos threads.

Passar a mensagem para o canal de pedido faz com que a mensagem seja acedida. Depois de ligar Request, já não pode inspecionar a mensagem nem ligar Close sobre a mensagem.

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

Request(Message, TimeSpan)

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

Envia um pedido baseado em mensagem e retorna a resposta correlacionada baseada em mensagens dentro de um intervalo de tempo especificado.

public:
 System::ServiceModel::Channels::Message ^ Request(System::ServiceModel::Channels::Message ^ message, TimeSpan timeout);
public System.ServiceModel.Channels.Message Request(System.ServiceModel.Channels.Message message, TimeSpan timeout);
abstract member Request : System.ServiceModel.Channels.Message * TimeSpan -> System.ServiceModel.Channels.Message
Public Function Request (message As Message, timeout As TimeSpan) As Message

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.

Devoluções

Receberam Message em resposta ao pedido.

Exemplos

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

public Message Request(Message message, TimeSpan timeout)
{
    return this.InnerChannel.Request(message, timeout);
}

Observações

Implementações de IRequestChannel garantir que a mensagem de resposta está correlacionada com a mensagem de pedido.

Geralmente, se uma implementação de IRequestChannel recebe uma mensagem que não está correlacionada com um pedido pendente, esta é cancelada.

O Request método pode ser chamado simultaneamente através de múltiplos threads.

Passar a mensagem para o canal de pedido faz com que a mensagem seja acedida. Depois de ligar Request, já não pode inspecionar a mensagem nem ligar Close sobre a mensagem.

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.

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