ISynchronizeInvoke Schnittstelle

Definition

Ermöglicht das synchrone oder asynchrone Ausführen eines Delegaten.Provides a way to synchronously or asynchronously execute a delegate.

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

Hinweise

Die ISynchronizeInvoke -Schnittstelle bietet synchrone und asynchrone Kommunikation zwischen Objekten über das Auftreten eines Ereignisses.The ISynchronizeInvoke interface provides synchronous and asynchronous communication between objects about the occurrence of an event. Objekte, die diese Schnittstelle implementieren, können eine Benachrichtigung erhalten, dass ein Ereignis aufgetreten ist, und Sie können auf Abfragen über das Ereignis reagieren.Objects that implement this interface can receive notification that an event has occurred, and they can respond to queries about the event. Auf diese Weise können Clients sicherstellen, dass eine Anforderung verarbeitet wurde, bevor Sie eine nachfolgende Anforderung übermitteln, die von der Ausführung der ersten Anforderung abhängig ist.In this way, clients can ensure that one request has been processed before they submit a subsequent request that depends on completion of the first.

Die ISynchronizeInvoke -Klasse bietet zwei Möglichkeiten, einen Prozess aufzurufen:The ISynchronizeInvoke class provides two ways to invoke a process:

  1. Asynchron, mithilfe der BeginInvoke -Methode.Asynchronously, by using the BeginInvoke method. BeginInvokestartet einen Prozess und wird dann sofort zurückgegeben.BeginInvoke starts a process and then returns immediately. Verwenden EndInvoke Sie, um zu warten, bis BeginInvoke der von gestartete Prozess abgeschlossen ist.Use EndInvoke to wait until the process started by BeginInvoke completes.

  2. Synchron, mithilfe der Invoke -Methode.Synchronously, by using the Invoke method. Invokestartet einen Prozess, wartet, bis er abgeschlossen ist, und gibt dann zurück.Invoke starts a process, waits until it completes, and then returns. Verwenden Invoke Sie, wenn der Haupt Thread des-Steuer Elements vom aufrufenden Thread abweicht, um den Aufruf an den richtigen Thread zu Mars Hallen.Use Invoke when the control's main thread is different from the calling thread to marshal the call to the proper thread.

Hinweis

Das HostProtectionAttribute auf diese Klasse angewendete-Attribut Resources besitzt den folgenden Synchronization -Eigenschafts Wert: | ExternalThreading.The HostProtectionAttribute attribute applied to this class has the following Resources property value: Synchronization | ExternalThreading. 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).The HostProtectionAttribute does not affect desktop applications (which are typically started by double-clicking an icon, typing a command, or entering a URL in a browser). Weitere Informationen finden Sie unter der HostProtectionAttribute -Klasse oder SQL Server-Programmier-und Host Schutz Attributen.For more information, see the HostProtectionAttribute class or SQL Server Programming and Host Protection Attributes.

Eigenschaften

InvokeRequired

Ruft einen Wert ab, der angibt, ob der Aufrufer Invoke(Delegate, Object[]) beim Aufruf eines Objekts aufrufen muss, das diese Schnittstelle implementiert.Gets a value indicating whether the caller must call Invoke(Delegate, Object[]) when calling an object that implements this interface.

Methoden

BeginInvoke(Delegate, Object[])

Führt den Delegaten asynchron für den Thread aus, der dieses Objekt erstellt hat.Asynchronously executes the delegate on the thread that created this object.

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.Waits until the process started by calling BeginInvoke(Delegate, Object[]) completes, and then returns the value generated by the process.

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.Synchronously executes the delegate on the thread that created this object and marshals the call to the creating thread.

Gilt für:

Siehe auch