IInputChannel.BeginReceive Methode

Definitie

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.

Van toepassing op