ISynchronizeInvoke Interface

Définition

Fournit un moyen d'exécuter un délégué de manière synchrone ou asynchrone.

public interface class ISynchronizeInvoke
public interface ISynchronizeInvoke
type ISynchronizeInvoke = interface
Public Interface ISynchronizeInvoke
Dérivé

Remarques

L’interface ISynchronizeInvoke fournit une communication synchrone et asynchrone entre les objets concernant l’occurrence d’un événement. Les objets qui implémentent cette interface peuvent recevoir une notification indiquant qu’un événement s’est produit et qu’ils peuvent répondre aux requêtes relatives à l’événement. De cette façon, les clients peuvent s’assurer qu’une demande a été traitée avant d’envoyer une demande ultérieure qui dépend de l’achèvement du premier.

La ISynchronizeInvoke classe fournit deux façons d’appeler un processus :

  1. De façon asynchrone, à l’aide de la BeginInvoke méthode. BeginInvoke démarre un processus, puis retourne immédiatement. Permet EndInvoke d’attendre que le processus commence par BeginInvoke se terminer.

  2. De façon synchrone, à l’aide de la Invoke méthode. Invoke démarre un processus, attend qu’il se termine, puis retourne. Utilisez Invoke lorsque le thread principal du contrôle est différent du thread appelant pour marshaler l’appel vers le thread approprié.

Notes

L’attribut HostProtectionAttribute appliqué à cette classe a la valeur de propriété suivante Resources : Synchronization | ExternalThreading. HostProtectionAttribute n'affecte pas les applications bureautiques (qui sont généralement démarrées en double-cliquant sur une icône, en tapant une commande ou en entrant une URL dans un navigateur). Pour plus d’informations, consultez la HostProtectionAttribute classe ou SQL Server Programmation et attributs de protection de l’hôte.

Propriétés

InvokeRequired

Obtient une valeur indiquant si l'appelant doit appeler Invoke(Delegate, Object[]) lors de l'appel d'un objet implémentant cette interface.

Méthodes

BeginInvoke(Delegate, Object[])

Exécute le délégué de manière asynchrone sur le thread qui a créé cet objet.

EndInvoke(IAsyncResult)

Attend que le processus lancé en appelant BeginInvoke(Delegate, Object[]) se termine puis retourne la valeur générée par le processus.

Invoke(Delegate, Object[])

Exécute le délégué de manière synchrone sur le thread qui a créé cet objet et marshale l'appel au thread créateur.

S’applique à

Voir aussi