Teilen über


ISynchronizeInvoke Schnittstelle

Definition

Ermöglicht das synchrone oder asynchrone Ausführen eines Delegaten.

public interface class ISynchronizeInvoke
public interface ISynchronizeInvoke
type ISynchronizeInvoke = interface
Public Interface ISynchronizeInvoke
Abgeleitet

Hinweise

Die ISynchronizeInvoke Schnittstelle ermöglicht eine synchrone und asynchrone Kommunikation zwischen Objekten über das Auftreten eines Ereignisses. Objekte, die diese Schnittstelle implementieren, können eine Benachrichtigung erhalten, dass ein Ereignis aufgetreten ist, und sie können auf Abfragen zum Ereignis reagieren. Auf diese Weise können Clients sicherstellen, dass eine Anforderung verarbeitet wurde, bevor sie eine nachfolgende Anforderung übermitteln, die vom Abschluss der ersten Anforderung abhängt.

Die ISynchronizeInvoke -Klasse bietet zwei Möglichkeiten zum Aufrufen eines Prozesses:

  1. Asynchron, mithilfe der BeginInvoke -Methode. BeginInvoke startet einen Prozess und gibt dann sofort zurück. Verwenden Sie EndInvoke , um zu warten, bis der Prozess abgeschlossen BeginInvoke wurde.

  2. Synchron, indem Sie die Invoke -Methode verwenden. Invoke startet einen Prozess, wartet, bis er abgeschlossen ist, und gibt dann zurück. Verwenden SieInvoke, wenn sich der Standard Thread des Steuerelements vom aufrufenden Thread unterscheidet, um den Aufruf an den richtigen Thread zu marshallen.

Hinweis

Das HostProtectionAttribute Attribut, das auf diese Klasse angewendet wird, weist den folgenden Resources Eigenschaftswert auf: | SynchronizationExternalThreading . Das HostProtectionAttribute hat keine Auswirkungen auf Desktopanwendungen (die normalerweise durch Doppelklicken auf ein Symbol, Eingeben eines Befehls oder einer URL in einem Browser gestartet werden). Weitere Informationen finden Sie in der HostProtectionAttribute Klasse oder SQL Server Programming and Host Protection Attribute.

Eigenschaften

InvokeRequired

Ruft einen Wert ab, der angibt, ob der Aufrufer Invoke(Delegate, Object[]) beim Aufruf eines Objekts aufrufen muss, das diese Schnittstelle implementiert.

Methoden

BeginInvoke(Delegate, Object[])

Führt den Delegaten asynchron für den Thread aus, der dieses Objekt erstellt hat.

EndInvoke(IAsyncResult)

Wartet, bis der durch einen Aufruf von BeginInvoke(Delegate, Object[]) gestartete Prozess abgeschlossen ist, und gibt anschließend den vom Prozess generierten Wert zurück.

Invoke(Delegate, Object[])

Führt den Delegaten synchron für den Thread aus, der dieses Objekt erstellt hat, und marshallt den Aufruf in den erstellenden Thread.

Gilt für:

Weitere Informationen