Compartir a través de


ISynchronizeInvoke Interfaz

Definición

Proporciona una manera de ejecutar un delegado de forma sincrónica o asincrónica.

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

Comentarios

La ISynchronizeInvoke interfaz proporciona comunicación sincrónica y asincrónica entre objetos sobre la aparición de un evento. Los objetos que implementan esta interfaz pueden recibir notificaciones de que se ha producido un evento y pueden responder a consultas sobre el evento. De esta manera, los clientes pueden asegurarse de que se haya procesado una solicitud antes de enviar una solicitud posterior que dependa de la finalización del primero.

La ISynchronizeInvoke clase proporciona dos maneras de invocar un proceso:

  1. De forma asincrónica, mediante el BeginInvoke método . BeginInvoke inicia un proceso y, a continuación, devuelve inmediatamente. Use EndInvoke para esperar hasta que finalice el proceso iniciado.BeginInvoke

  2. De forma sincrónica, mediante el Invoke método . Invoke inicia un proceso, espera hasta que se completa y, a continuación, devuelve. Use Invoke cuando el subproceso principal del control es diferente del subproceso de llamada para serializar la llamada al subproceso adecuado.

Nota:

El HostProtectionAttribute atributo aplicado a esta clase tiene el siguiente Resources valor de propiedad: Synchronization | ExternalThreading. No HostProtectionAttribute afecta a las aplicaciones de escritorio (que normalmente se inician haciendo doble clic en un icono, escribiendo un comando o escribiendo una dirección URL en un explorador). Para obtener más información, consulte la clase o los HostProtectionAttributeatributos de programación y protección de host de SQL Server.

Propiedades

Nombre Description
InvokeRequired

Obtiene un valor que indica si el autor de la llamada debe llamar Invoke(Delegate, Object[]) al llamar a un objeto que implementa esta interfaz.

Métodos

Nombre Description
BeginInvoke(Delegate, Object[])

Ejecuta de forma asincrónica el delegado en el subproceso que creó este objeto.

EndInvoke(IAsyncResult)

Espera hasta que se inicie el proceso llamando a BeginInvoke(Delegate, Object[]) complete y, a continuación, devuelve el valor generado por el proceso.

Invoke(Delegate, Object[])

Ejecuta de forma sincrónica el delegado en el subproceso que creó este objeto y serializa la llamada al subproceso de creación.

Se aplica a

Consulte también