IInputChannel.WaitForMessage(TimeSpan) 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.
Retourne une valeur qui indique si un message est arrivé dans un intervalle de temps spécifié.
public:
bool WaitForMessage(TimeSpan timeout);
public bool WaitForMessage(TimeSpan timeout);
abstract member WaitForMessage : TimeSpan -> bool
Public Function WaitForMessage (timeout As TimeSpan) As Boolean
Paramètres
- timeout
- TimeSpan
Spécifie TimeSpan l’intervalle maximal de temps d’attente pour qu’un message arrive avant l’expiration du délai d’attente.
Retours
true si un message est arrivé avant le timeout dépassement ; sinon false.
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 bool WaitForMessage(TimeSpan timeout)
{
return this.InnerChannel.WaitForMessage(timeout);
}
Remarques
L’appel WaitForMessage(TimeSpan) n’entraîne pas la réception ou le traitement d’un message d’une autre manière.
La WaitForMessage(TimeSpan) méthode existe principalement pour les scénarios traités où l’utilisateur souhaite recevoir le message à l’aide d’une transaction. En cas d’utilisation normale Receive pour cela, l’utilisateur doit créer la transaction, puis appeler Receive et espérer que le message arrive avant l’expiration de la transaction, ce qui peut ne pas être possible.
Au lieu de cela, l’utilisateur peut appeler WaitForMessage(TimeSpan) avec le délai d’expiration souhaité (même infini), puis lorsqu’un message arrive, il peut ouvrir la transaction, appeler Receive et être sûr qu’il peut récupérer le message avant l’expiration de la transaction.
Cette méthode est synchrone. Elle bloque donc le thread actuel jusqu’à ce qu’un message soit disponible ou que le délai d’attente se produise. Utilisez 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. Si vous avez besoin du traitement de l’application pour continuer sans attendre, utilisez la méthode asynchrone BeginWaitForMessage(TimeSpan, AsyncCallback, Object) .
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.