Partager via


IReplyChannel.BeginWaitForRequest(TimeSpan, AsyncCallback, Object) Méthode

Définition

Commence une opération de demande asynchrone à laquelle sont associés un délai d'attente spécifié et un objet d'état.

public:
 IAsyncResult ^ BeginWaitForRequest(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWaitForRequest (TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginWaitForRequest : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginWaitForRequest (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult

Paramètres

timeout
TimeSpan

TimeSpan qui spécifie la durée d'attente de réception d'une demande disponible.

callback
AsyncCallback

Le délégué AsyncCallback qui reçoit la notification de la réception asynchrone qu'une opération de demande exécute.

state
Object

Objet, spécifié par l'application, qui contient les informations d'état associées à la réception asynchrone d'une opération de demande.

Retours

IAsyncResult

IAsyncResult qui fait référence à l'opération asynchrone pour attendre l'arrivée d'un message de demande.

Exemples

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

public IAsyncResult BeginWaitForRequest(TimeSpan timeout, AsyncCallback callback, object state)
{
    return this.InnerChannel.BeginWaitForRequest(timeout, callback, state);
}

Remarques

Utilisez la méthode WaitForRequest(TimeSpan) synchrone lorsque le thread en cours peut faire l'objet d'un blocage en attendant l'arrivée d'un message de demande dans la file d'attente. Le thread reste bloqué durant le timeout spécifié.

Cette méthode reçoit, via un rappel, la notification de l'identité du gestionnaire d'événements de l'opération. L'opération ne se termine que lorsqu'un message de demande est disponible dans le canal ou lorsque le délai d'attente a expiré.

Notes pour les responsables de l’implémentation

L'opération retourne false si le timeout spécifié est dépassé.

S’applique à