IReplyChannel.TryReceiveRequest(TimeSpan, RequestContext) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí hodnotu, která označuje, zda je požadavek přijat před uplynutím zadaného časového intervalu.
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
Parametry
- timeout
- TimeSpan
Určuje TimeSpan , jak dlouho má trvat příjem operace požadavku, než vyprší časový limit a vrátí false
.
- context
- RequestContext
Přijatý RequestContext .
Návraty
true
pokud je zpráva požadavku přijata před uplynutím zadaného časového intervalu; jinak false
.
Příklady
Následující kód ukazuje, jak tuto metodu implementovat:
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;
}
Poznámky
Použijte TryReceiveRequest(TimeSpan, RequestContext) , pokud je přijatelné, aby aktuální vlákno bylo blokováno při čekání na doručení zprávy požadavku do fronty. Vlákno je blokováno až do zadaného timeout
. Pokud potřebujete, aby zpracování aplikace pokračovalo bez čekání, použijte asynchronní BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object) metodu.
Poznámky pro implementátory
Operace vrátí false
, pokud je překročena zadaná timeout
hodnota.