IInputChannel.WaitForMessage(TimeSpan) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Retourneert een waarde die aangeeft of een bericht binnen een opgegeven tijdsinterval is aangekomen.
public:
bool WaitForMessage(TimeSpan timeout);
public bool WaitForMessage(TimeSpan timeout);
abstract member WaitForMessage : TimeSpan -> bool
Public Function WaitForMessage (timeout As TimeSpan) As Boolean
Parameters
- timeout
- TimeSpan
Hiermee TimeSpan geeft u het maximale tijdsinterval op dat moet worden gewacht totdat een bericht binnenkomt voordat er een time-out optreedt.
Retouren
true als er een bericht is aangekomen voordat het timeout is overschreden; anders false.
Uitzonderingen
De opgegeven timeout waarde wordt overschreden voordat de bewerking is voltooid.
De opgegeven time-out is kleiner dan nul.
Voorbeelden
De volgende code illustreert hoe u deze methode implementeert:
public bool WaitForMessage(TimeSpan timeout)
{
return this.InnerChannel.WaitForMessage(timeout);
}
Opmerkingen
Bellen WaitForMessage(TimeSpan) leidt er niet toe dat een bericht op een andere manier wordt ontvangen of verwerkt.
De WaitForMessage(TimeSpan) methode bestaat voornamelijk voor transacted scenario's waarbij de gebruiker het bericht wil ontvangen met behulp van een transactie. Wanneer de gebruiker normaal gesproken Receive hiervoor gebruikt, moet de gebruiker de transactie maken en vervolgens bellen Receive en hopen dat het bericht binnenkomt voordat er een time-out optreedt voor de transactie, wat mogelijk niet mogelijk is.
In plaats daarvan kan de gebruiker bellen WaitForMessage(TimeSpan) met elke time-out die ze willen (zelfs oneindig), en wanneer een bericht binnenkomt, kan hij of zij de transactie openen, bellen Receive en erop vertrouwen dat ze het bericht terug kunnen krijgen voordat de transactie verloopt.
Deze methode is synchroon, dus blokkeert deze de huidige thread totdat een bericht beschikbaar is of de time-out optreedt. Gebruik WaitForMessage(TimeSpan) deze functie wanneer het acceptabel is dat de huidige thread wordt geblokkeerd terwijl er wordt gewacht tot een bericht in de wachtrij aankomt. De thread wordt geblokkeerd tot aan de opgegeven timeout. Als u de verwerking van de toepassing nodig hebt om door te gaan zonder te wachten, gebruikt u de asynchrone BeginWaitForMessage(TimeSpan, AsyncCallback, Object) methode.
Notities voor uitvoerders
De bewerking retourneert false als de opgegeven timeout waarde wordt overschreden, geen time-outuitzondering.