Condividi tramite


ISynchronizeInvoke Interfaccia

Definizione

Fornisce un modo per eseguire in modo sincrono o asincrono un delegato.

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

Commenti

L'interfaccia ISynchronizeInvoke fornisce comunicazioni sincrone e asincrone tra gli oggetti sull'occorrenza di un evento. Gli oggetti che implementano questa interfaccia possono ricevere una notifica che indica che si è verificato un evento e possono rispondere alle query sull'evento. In questo modo, i client possono assicurarsi che una richiesta sia stata elaborata prima di inviare una richiesta successiva che dipende dal completamento del primo.

La ISynchronizeInvoke classe offre due modi per richiamare un processo:

  1. In modo asincrono, usando il BeginInvoke metodo . BeginInvoke avvia un processo e quindi restituisce immediatamente. Usare EndInvoke per attendere il completamento del processo BeginInvoke .

  2. In modo sincrono, usando il Invoke metodo . Invoke avvia un processo, attende il completamento e quindi restituisce. Usare Invoke quando il thread principale del controllo è diverso dal thread chiamante per effettuare il marshalling della chiamata al thread appropriato.

Annotazioni

L'attributo HostProtectionAttribute applicato a questa classe ha il valore della proprietà seguenteResources: | SynchronizationExternalThreading . Non HostProtectionAttribute influisce sulle applicazioni desktop (che in genere vengono avviate facendo doppio clic su un'icona, digitando un comando o immettendo un URL in un browser). Per altre informazioni, vedere la HostProtectionAttribute classe o gli attributi di programmazione e protezione host di SQL Server.

Proprietà

Nome Descrizione
InvokeRequired

Ottiene un valore che indica se il chiamante deve chiamare Invoke(Delegate, Object[]) quando si chiama un oggetto che implementa questa interfaccia.

Metodi

Nome Descrizione
BeginInvoke(Delegate, Object[])

Esegue in modo asincrono il delegato sul thread che ha creato questo oggetto.

EndInvoke(IAsyncResult)

Attende il completamento del processo chiamando BeginInvoke(Delegate, Object[]) e quindi restituisce il valore generato dal processo.

Invoke(Delegate, Object[])

Esegue in modo sincrono il delegato sul thread che ha creato questo oggetto e effettua il marshalling della chiamata al thread di creazione.

Si applica a

Vedi anche