IRequestChannel.Request Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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
- 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.