ISynchronizeInvoke Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece uma maneira de executar um delegado de forma síncrona ou assíncrona.
public interface class ISynchronizeInvoke
public interface ISynchronizeInvoke
type ISynchronizeInvoke = interface
Public Interface ISynchronizeInvoke
- Derivado
Comentários
A ISynchronizeInvoke interface fornece comunicação síncrona e assíncrona entre objetos sobre a ocorrência de um evento. Os objetos que implementam essa interface podem receber uma notificação de que ocorreu um evento e podem responder a consultas sobre o evento. Dessa forma, os clientes podem garantir que uma solicitação tenha sido processada antes de enviarem uma solicitação subsequente que depende da conclusão da primeira.
A ISynchronizeInvoke classe fornece duas maneiras de invocar um processo:
De forma assíncrona, usando o BeginInvoke método. BeginInvoke inicia um processo e retorna imediatamente. Use EndInvoke para aguardar até que o processo iniciado seja BeginInvoke concluído.
De forma síncrona, usando o Invoke método. Invoke inicia um processo, aguarda até ser concluído e, em seguida, retorna. Use Invoke quando o thread principal do controle for diferente do thread de chamada para fazer marshaling da chamada para o thread adequado.
Observação
O HostProtectionAttribute atributo aplicado a essa classe tem o seguinte Resources valor de propriedade: Synchronization | ExternalThreading. Isso HostProtectionAttribute não afeta aplicativos da área de trabalho (que normalmente são iniciados clicando duas vezes em um ícone, digitando um comando ou inserindo uma URL em um navegador). Para obter mais informações, consulte a HostProtectionAttribute classe ou os atributos de programação e proteção de host do SQL Server.
Propriedades
| Nome | Description |
|---|---|
| InvokeRequired |
Obtém um valor que indica se o chamador deve chamar Invoke(Delegate, Object[]) ao chamar um objeto que implementa essa interface. |
Métodos
| Nome | Description |
|---|---|
| BeginInvoke(Delegate, Object[]) |
Executa de forma assíncrona o delegado no thread que criou esse objeto. |
| EndInvoke(IAsyncResult) |
Aguarda até que o processo iniciado pela chamada BeginInvoke(Delegate, Object[]) seja concluído e, em seguida, retorna o valor gerado pelo processo. |
| Invoke(Delegate, Object[]) |
Executa de forma síncrona o delegado no thread que criou esse objeto e faz marshaling da chamada para o thread de criação. |