IReplyChannel.TryReceiveRequest(TimeSpan, RequestContext) 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 um pedido é recebido antes de um intervalo de tempo especificado.
public:
bool TryReceiveRequest(TimeSpan timeout, [Runtime::InteropServices::Out] System::ServiceModel::Channels::RequestContext ^ % context);
public bool TryReceiveRequest(TimeSpan timeout, out System.ServiceModel.Channels.RequestContext context);
abstract member TryReceiveRequest : TimeSpan * RequestContext -> bool
Public Function TryReceiveRequest (timeout As TimeSpan, ByRef context As RequestContext) As Boolean
Parâmetros
- timeout
- TimeSpan
O TimeSpan que especifica quanto tempo a receção de uma operação de pedido tem para ser concluída antes de expirar e devolver false.
- context
- RequestContext
O RequestContext recebido.
Devoluções
true se uma mensagem de pedido for recebida antes do intervalo de tempo especificado; caso contrário false.
Exemplos
O seguinte código ilustra como implementar este método:
public bool TryReceiveRequest(TimeSpan timeout, out RequestContext requestContext)
{
bool result;
while (true)
{
result = this.InnerChannel.TryReceiveRequest(timeout, out requestContext);
if (!result || ProcessRequestContext(ref requestContext))
{
break;
}
}
return result;
}
Observações
TryReceiveRequest(TimeSpan, RequestContext) Use quando for aceitável que a thread atual seja bloqueada enquanto espera que uma mensagem de pedido 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 BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object) .
Notas para Implementadores
A operação retorna false se o especificado timeout for ultrapassado.