Partager via


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 sur 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 répondre aux requêtes sur l’événement. De cette façon, les clients peuvent s’assurer qu’une seule demande a été traitée avant d’envoyer une demande suivante qui dépend de l’achèvement de la première.

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. Utilisez EndInvoke pour attendre que le processus démarré par BeginInvoke se termine.

  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 main 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 : | SynchronizationExternalThreading . 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