IInputChannel.BeginReceive Méthode

Définition

Commence une opération de réception asynchrone.

Surcharges

Nom Description
BeginReceive(AsyncCallback, Object)

Commence une opération asynchrone pour recevoir un message qui a un objet d’état associé à celui-ci.

BeginReceive(TimeSpan, AsyncCallback, Object)

Commence une opération asynchrone pour recevoir un message qui a un délai d’expiration et un objet d’état spécifiés qui lui sont associés.

Remarques

Utilisez la méthode asynchrone BeginReceive lorsque vous souhaitez que le traitement de l’application continue sans attendre la réception de la demande. Utilisez la méthode synchrone Receive lorsqu’il est acceptable que le thread actuel soit bloqué jusqu’à ce que le message de demande soit reçu ou que l’intervalle de temps spécifié par le timeout thread actuel soit dépassé. L’opération asynchrone est disponible avec ou sans délai d’expiration explicite.

BeginReceive(AsyncCallback, Object)

Source:
IInputChannel.cs
Source:
IInputChannel.cs
Source:
IInputChannel.cs

Commence une opération asynchrone pour recevoir un message qui a un objet d’état associé à celui-ci.

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

Paramètres

callback
AsyncCallback

Délégué AsyncCallback qui reçoit la notification de l’achèvement de l’opération asynchrone.

state
Object

Objet, spécifié par l’application, qui contient des informations d’état associées à l’opération asynchrone.

Retours

Qui IAsyncResult fait référence à la réception de message asynchrone.

Exemples

Le code suivant montre comment implémenter cette méthode :

public IAsyncResult BeginReceive(AsyncCallback callback, object state)
{
    return BeginReceive(DefaultReceiveTimeout, callback, state);
}

Remarques

Utilisez la méthode asynchrone BeginReceive lorsque vous souhaitez que le traitement de l’application continue sans attendre la réception de la demande. Utilisez la méthode synchrone Receive lorsqu’il est acceptable que le thread actuel soit bloqué jusqu’à ce que le message de demande soit reçu ou que l’intervalle de temps spécifié par le timeout thread actuel soit dépassé. L’opération asynchrone est disponible avec ou sans délai d’expiration explicite.

Cette méthode reçoit la notification, via un rappel, de l’identité du gestionnaire d’événements pour l’opération. L’opération n’est pas terminée tant qu’un message n’est pas disponible dans le canal.

S’applique à

BeginReceive(TimeSpan, AsyncCallback, Object)

Source:
IInputChannel.cs
Source:
IInputChannel.cs
Source:
IInputChannel.cs

Commence une opération asynchrone pour recevoir un message qui a un délai d’expiration et un objet d’état spécifiés qui lui sont associés.

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

Paramètres

timeout
TimeSpan

Qui TimeSpan spécifie l’intervalle de temps d’attente pour qu’un message devienne disponible.

callback
AsyncCallback

Délégué AsyncCallback qui reçoit la notification de l’achèvement de l’opération asynchrone.

state
Object

Objet, spécifié par l’application, qui contient des informations d’état associées à l’opération asynchrone.

Retours

Qui IAsyncResult fait référence à l’opération de réception asynchrone.

Exceptions

La valeur spécifiée timeout est dépassée avant la fin de l’opération.

Le délai d’expiration spécifié est inférieur à zéro.

Exemples

Le code suivant montre comment implémenter cette méthode :

public IAsyncResult BeginReceive(TimeSpan timeout, AsyncCallback callback, object state)
{
    ReceiveAsyncResult<TChannel> result = new ReceiveAsyncResult<TChannel>(this, timeout, callback, state);
    result.Begin();
    return result;
}

Remarques

Utilisez la méthode asynchrone BeginReceive lorsque vous souhaitez que le traitement de l’application continue sans attendre la réception de la demande. Utilisez la méthode synchrone Receive lorsqu’il est acceptable que le thread actuel soit bloqué jusqu’à ce que le message de demande soit reçu ou que l’intervalle de temps spécifié par le timeout thread actuel soit dépassé. L’opération asynchrone est disponible avec ou sans délai d’expiration explicite.

L’opération n’est pas terminée tant qu’un message n’est pas disponible dans le canal ou que le délai d’attente se produit.

Notes pour les responsables de l’implémentation

L’opération lève une TimeoutException valeur si la valeur spécifiée timeout est dépassée avant sa fin.

S’applique à