ISynchronizeInvoke Interfaccia
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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:
In modo asincrono, usando il BeginInvoke metodo . BeginInvoke avvia un processo e quindi restituisce immediatamente. Usare EndInvoke per attendere il completamento del processo BeginInvoke .
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. |