IInputChannel.BeginReceive 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.
Hiermee wordt een asynchrone ontvangstbewerking gestart.
Overloads
| Name | Description |
|---|---|
| BeginReceive(AsyncCallback, Object) |
Hiermee wordt een asynchrone bewerking gestart om een bericht te ontvangen waaraan een statusobject is gekoppeld. |
| BeginReceive(TimeSpan, AsyncCallback, Object) |
Hiermee wordt een asynchrone bewerking gestart om een bericht te ontvangen met een opgegeven time-out en statusobject dat eraan is gekoppeld. |
Opmerkingen
Gebruik de asynchrone BeginReceive methode wanneer u wilt dat de verwerking van de toepassing wordt voortgezet zonder te wachten totdat de aanvraag is ontvangen. Gebruik de synchrone Receive methode wanneer het acceptabel is dat de huidige thread wordt geblokkeerd totdat het aanvraagbericht wordt ontvangen of het tijdsinterval dat is opgegeven door de timeout thread is overschreden. De asynchrone bewerking is beschikbaar met of zonder expliciete time-out.
BeginReceive(AsyncCallback, Object)
Hiermee wordt een asynchrone bewerking gestart om een bericht te ontvangen waaraan een statusobject is gekoppeld.
public:
IAsyncResult ^ BeginReceive(AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive(AsyncCallback callback, object state);
abstract member BeginReceive : AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (callback As AsyncCallback, state As Object) As IAsyncResult
Parameters
- callback
- AsyncCallback
De AsyncCallback gemachtigde die de melding ontvangt van de voltooiing van de asynchrone bewerking.
- state
- Object
Een object, opgegeven door de toepassing, dat statusinformatie bevat die is gekoppeld aan de asynchrone bewerking.
Retouren
De IAsyncResult vermelding die verwijst naar de asynchrone ontvangst van berichten.
Voorbeelden
De volgende code illustreert hoe u deze methode implementeert:
public IAsyncResult BeginReceive(AsyncCallback callback, object state)
{
return BeginReceive(DefaultReceiveTimeout, callback, state);
}
Opmerkingen
Gebruik de asynchrone BeginReceive methode wanneer u wilt dat de verwerking van de toepassing wordt voortgezet zonder te wachten totdat de aanvraag is ontvangen. Gebruik de synchrone Receive methode wanneer het acceptabel is dat de huidige thread wordt geblokkeerd totdat het aanvraagbericht wordt ontvangen of het tijdsinterval dat is opgegeven door de timeout thread is overschreden. De asynchrone bewerking is beschikbaar met of zonder expliciete time-out.
Deze methode ontvangt een melding via een callback van de identiteit van de gebeurtenis-handler voor de bewerking. De bewerking is pas voltooid als er een bericht beschikbaar is in het kanaal.
Van toepassing op
BeginReceive(TimeSpan, AsyncCallback, Object)
Hiermee wordt een asynchrone bewerking gestart om een bericht te ontvangen met een opgegeven time-out en statusobject dat eraan is gekoppeld.
public:
IAsyncResult ^ BeginReceive(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive(TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginReceive : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult
Parameters
- timeout
- TimeSpan
Hiermee TimeSpan geeft u het tijdsinterval op dat moet worden gewacht tot een bericht beschikbaar is.
- callback
- AsyncCallback
De AsyncCallback gemachtigde die de melding ontvangt van de voltooiing van de asynchrone bewerking.
- state
- Object
Een object, opgegeven door de toepassing, dat statusinformatie bevat die is gekoppeld aan de asynchrone bewerking.
Retouren
De IAsyncResult bewerking die verwijst naar de asynchrone ontvangstbewerking.
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 IAsyncResult BeginReceive(TimeSpan timeout, AsyncCallback callback, object state)
{
ReceiveAsyncResult<TChannel> result = new ReceiveAsyncResult<TChannel>(this, timeout, callback, state);
result.Begin();
return result;
}
Opmerkingen
Gebruik de asynchrone BeginReceive methode wanneer u wilt dat de verwerking van de toepassing wordt voortgezet zonder te wachten totdat de aanvraag is ontvangen. Gebruik de synchrone Receive methode wanneer het acceptabel is dat de huidige thread wordt geblokkeerd totdat het aanvraagbericht wordt ontvangen of het tijdsinterval dat is opgegeven door de timeout thread is overschreden. De asynchrone bewerking is beschikbaar met of zonder expliciete time-out.
De bewerking is pas voltooid als er een bericht beschikbaar is in het kanaal of als er een time-out optreedt.
Notities voor uitvoerders
De bewerking genereert een TimeoutException als de opgegeven timeout waarde wordt overschreden voordat deze is voltooid.