IInputChannel.BeginReceive Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.