Partilhar via


IRequestChannel.Request Método

Definição

Envia uma solicitação baseada em mensagem e retorna a resposta correlacionada com base em mensagem.

Sobrecargas

Request(Message)

Envia uma solicitação baseada em mensagem e retorna a resposta correlacionada com base em mensagem.

Request(Message, TimeSpan)

Envia uma solicitação baseada em mensagem e retorna a resposta correlacionada com base em mensagem dentro de um intervalo de tempo especificado.

Request(Message)

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

Envia uma solicitação baseada em mensagem e retorna a resposta correlacionada com base em mensagem.

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

A solicitação Message a ser transmitida.

Retornos

O Message recebido em resposta à solicitação.

Exemplos

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

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

Comentários

Implementações de garantir que a mensagem de IRequestChannel resposta esteja correlacionada com a mensagem de solicitação.

Geralmente, se uma implementação de IRequestChannel receber uma mensagem que não está correlacionada a uma solicitação pendente, ela será descartada.

O Request método pode ser chamado simultaneamente em vários threads.

Passar a mensagem para o canal de solicitação faz com que a mensagem seja acessada. Depois de chamar Request, você não poderá mais inspecionar a mensagem ou chamar Close na mensagem.

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

Request(Message, TimeSpan)

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

Envia uma solicitação baseada em mensagem e retorna a resposta correlacionada com base em mensagem 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

A solicitação Message a ser transmitida.

timeout
TimeSpan

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

Retornos

O Message recebido em resposta à solicitação.

Exemplos

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

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

Comentários

Implementações de garantir que a mensagem de IRequestChannel resposta esteja correlacionada com a mensagem de solicitação.

Geralmente, se uma implementação de IRequestChannel receber uma mensagem que não está correlacionada a uma solicitação pendente, ela será descartada.

O Request método pode ser chamado simultaneamente em vários threads.

Passar a mensagem para o canal de solicitação faz com que a mensagem seja acessada. Depois de chamar Request, você não poderá mais inspecionar a mensagem ou chamar Close na mensagem.

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.

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

O DefaultSendTimeout 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 se o especificado timeout for excedido antes da conclusão da operação.

Aplica-se a