IInputChannel.BeginWaitForMessage(TimeSpan, AsyncCallback, Object) Méthode

Définition

Commence une opération asynchrone wait-for-a-message-to-arrive qui a un délai d’expiration et un objet d’état spécifiés qui lui sont associés.

public:
 IAsyncResult ^ BeginWaitForMessage(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWaitForMessage(TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginWaitForMessage : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginWaitForMessage (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 asynchrone pour attendre qu’un message arrive.

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 BeginWaitForMessage(TimeSpan timeout, AsyncCallback callback, object state)
{
    return this.InnerChannel.BeginWaitForMessage(timeout, callback, state);
}

Remarques

Utilisez la méthode asynchrone BeginWaitForMessage(TimeSpan, AsyncCallback, Object) si vous avez besoin que le traitement de l’application continue sans attendre que le message arrive. Utilisez la méthode synchrone WaitForMessage(TimeSpan) lorsqu’il est acceptable que le thread actuel soit bloqué pendant qu’il attend qu’un message arrive dans la file d’attente. Le thread est bloqué jusqu’au thread spécifié timeout.

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 ou que le délai d’attente se produit.

Notes pour les responsables de l’implémentation

L’opération retourne false si le paramètre spécifié timeout est dépassé, et non une exception de délai d’expiration.

S’applique à