ISynchronizeInvoke Interfaz

Definición

Proporciona un medio para ejecutar de forma sincrónica o asincrónica un delegado.

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 este modo, 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. Se usa Invoke cuando el subproceso principal del control es diferente del subproceso que realiza la llamada al subproceso adecuado.

Nota

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

Propiedades

InvokeRequired

Obtiene un valor que indica si el elemento que realiza la llamada debe llamar a Invoke(Delegate, Object[]) cuando se llame a un objeto que implemente esta interfaz.

Métodos

BeginInvoke(Delegate, Object[])

De forma asincrónica ejecuta el delegado en el subproceso que creó este objeto.

EndInvoke(IAsyncResult)

Espera a que finalice el proceso iniciado mediante la llamada a BeginInvoke(Delegate, Object[]) y, a continuación, devuelve el valor generado por el proceso.

Invoke(Delegate, Object[])

De forma sincrónica ejecuta el delegado en el subproceso que creó este objeto y calcula las referencias de la llamada en el subproceso de creación.

Se aplica a

Consulte también