IReplyChannel.TryReceiveRequest(TimeSpan, RequestContext) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve un valor que indica si se recibe una solicitud antes de que transcurre un intervalo de tiempo 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
TimeSpan que especifica cuánto tiempo debe completarse la recepción de una operación de solicitud antes de agotar el tiempo de espera y devolver false.
- context
- RequestContext
El RequestContext objeto recibido.
Devoluciones
true si se recibe un mensaje de solicitud antes de que transcurre el intervalo de tiempo especificado; de lo contrario false, es .
Ejemplos
En el código siguiente se muestra cómo 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;
}
Comentarios
Use TryReceiveRequest(TimeSpan, RequestContext) cuando sea aceptable que el subproceso actual se bloquee mientras espera a que llegue un mensaje de solicitud a la cola. El subproceso está bloqueado hasta el especificado timeout. Si necesita que el procesamiento de la aplicación continúe sin esperar, use el método asincrónico BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object) .
Notas a los implementadores
La operación devuelve false si se supera el especificado timeout .