IReplyChannel.WaitForRequest(TimeSpan) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Devolve um valor que indica se uma mensagem de pedido é recebida antes de um intervalo de tempo especificado.
public:
bool WaitForRequest(TimeSpan timeout);
public bool WaitForRequest(TimeSpan timeout);
abstract member WaitForRequest : TimeSpan -> bool
Public Function WaitForRequest (timeout As TimeSpan) As Boolean
Parâmetros
- timeout
- TimeSpan
O TimeSpan que especifica quanto tempo uma operação de pedido tem de ser concluída antes de expirar e devolver false.
Devoluções
true se um pedido for recebido antes do intervalo de tempo especificado; caso contrário false.
Exemplos
O seguinte código ilustra como implementar este método:
public bool WaitForRequest(TimeSpan timeout)
{
return this.InnerChannel.WaitForRequest(timeout);
}
Observações
A chamada WaitForRequest(TimeSpan) não resulta na receção ou processamento de uma mensagem de pedido de qualquer forma.
O BeginWaitForRequest(TimeSpan, AsyncCallback, Object) método existe principalmente para cenários transacionados em que o utilizador quer receber a mensagem através de uma transação. Ao usar apenas ReceiveRequest normalmente para isto, o utilizador deve criar a transação e depois ligar ReceiveRequest e esperar que a mensagem chegue antes do prazo da transação, o que pode não ser possível.
Em vez disso, o utilizador pode ligar WaitForRequest(TimeSpan) e especificar o tempo limite (mesmo infinito), depois, quando chegar uma mensagem, pode abrir a transação, ligar ReceiveRequest e ter a confiança de que pode receber a mensagem de volta antes da transação expirar.
WaitForRequest(TimeSpan) Use quando for aceitável que o fio atual seja bloqueado enquanto espera que uma mensagem chegue à fila. A thread é bloqueada até ao especificado timeout. Se precisares que o processamento da candidatura continue sem esperar, usa o método assíncrono BeginWaitForRequest(TimeSpan, AsyncCallback, Object) .
Notas para Implementadores
A operação retorna false se o especificado timeout for ultrapassado.