IInputChannel.TryReceive(TimeSpan, Message) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Versucht, eine Nachricht innerhalb eines angegebenen Zeitintervalls zu empfangen.
public:
bool TryReceive(TimeSpan timeout, [Runtime::InteropServices::Out] System::ServiceModel::Channels::Message ^ % message);
public bool TryReceive(TimeSpan timeout, out System.ServiceModel.Channels.Message message);
abstract member TryReceive : TimeSpan * Message -> bool
Public Function TryReceive (timeout As TimeSpan, ByRef message As Message) As Boolean
Parameter
- timeout
- TimeSpan
Die IAsyncResult von einem Aufruf an eine der BeginReceive Methoden zurückgegebene.
Gibt zurück
true wenn eine Nachricht empfangen wird, bevor die timeout Nachricht überschritten wurde; andernfalls false.
Ausnahmen
Der angegebene timeout Wert wird überschritten, bevor der Vorgang abgeschlossen ist.
Das angegebene Timeout ist kleiner als 0.
Beispiele
Der folgende Code veranschaulicht die Implementierung dieser Methode:
public bool TryReceive(TimeSpan timeout, out Message message)
{
bool result;
while (true)
{
result = this.InnerChannel.TryReceive(timeout, out message);
if (ProcessReceivedMessage(ref message))
{
break;
}
}
return result;
}
Hinweise
Wenn Sie Timeouts behandeln und nicht nur erneut auslösen oder umbrechen TimeoutException, sollten TryReceive(TimeSpan, Message) Sie anstelle von Receive.
Wenn Sie timeouts nicht speziell behandeln werden, rufen ReceiveSie einfach auf, andernfalls verlieren Sie Fehlerinformationen.