ISynchronizeInvoke Interface
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Fornece uma forma 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
Observações
A ISynchronizeInvoke interface fornece comunicação síncrona e assíncrona entre objetos sobre a ocorrência de um evento. Os objetos que implementam esta interface podem receber notificações de que ocorreu um evento e podem responder a perguntas sobre o evento. Desta forma, os clientes podem garantir que um pedido foi processado antes de submeterem um pedido subsequente que depende da conclusão do primeiro.
A ISynchronizeInvoke classe fornece duas formas de invocar um processo:
Assíncronamente, usando o BeginInvoke método. BeginInvoke Inicia um processo e depois volta imediatamente. Costumava EndInvoke esperar até que o processo começasse e BeginInvoke terminasse.
De forma síncrona, usando o Invoke método. Invoke inicia um processo, espera até que termine e depois volta. Invoke Use quando a thread principal do controlo for diferente da thread que chama para marshear a chamada para a thread correta.
Note
O HostProtectionAttribute atributo aplicado a esta classe tem o seguinte Resources valor de propriedade: | SynchronizationExternalThreading . Isto HostProtectionAttribute não afeta aplicações de ambiente de trabalho (que normalmente são iniciadas com duplo clique num ícone, digitação de um comando ou introdução de um URL no navegador). Para mais informações, consulte a classe HostProtectionAttribute ou SQL Server Atributos de Programação e Proteção de Host.
Propriedades
| Name | Description |
|---|---|
| InvokeRequired |
Recebe um valor que indica se o chamador deve chamar Invoke(Delegate, Object[]) ao chamar um objeto que implementa esta interface. |
Métodos
| Name | Description |
|---|---|
| BeginInvoke(Delegate, Object[]) |
Executa assíncronamente o delegado no thread que criou este objeto. |
| EndInvoke(IAsyncResult) |
Espera que o processo comece chamando BeginInvoke(Delegate, Object[]) os completos, e depois devolve o valor gerado pelo processo. |
| Invoke(Delegate, Object[]) |
Executa sincronizadamente o delegado no thread que criou este objeto e faz o marshal da chamada para o thread de criação. |