ISynchronizeInvoke 인터페이스

정의

동기적 또는 비동기적으로 대리자를 실행 하는 방법을 제공 합니다.Provides a way to synchronously or asynchronously execute a delegate.

public interface class ISynchronizeInvoke
public interface ISynchronizeInvoke
type ISynchronizeInvoke = interface
Public Interface ISynchronizeInvoke
파생

설명

ISynchronizeInvoke 인터페이스는 이벤트 발생에 대 한 개체 간의 동기 및 비동기 통신을 제공 합니다.The ISynchronizeInvoke interface provides synchronous and asynchronous communication between objects about the occurrence of an event. 이 인터페이스를 구현 하는 개체에는 이벤트가 발생 하 고 이벤트에 대 한 쿼리에 응답할 수 있는 알림을 받을 수 있습니다.Objects that implement this interface can receive notification that an event has occurred, and they can respond to queries about the event. 이러한 방식으로 클라이언트는 첫 번째 완료에 종속 하는 후속 요청을 제출 하기 전에 요청이 처리 되었는지 확인할 수 있습니다.In this way, clients can ensure that one request has been processed before they submit a subsequent request that depends on completion of the first.

ISynchronizeInvoke 클래스는 프로세스를 호출 하는 두 가지 방법을 제공 합니다.The ISynchronizeInvoke class provides two ways to invoke a process:

  1. BeginInvoke 메서드를 사용 하 여 비동기적으로Asynchronously, by using the BeginInvoke method. BeginInvoke는 프로세스를 시작 하 고 즉시 반환 됩니다.BeginInvoke starts a process and then returns immediately. EndInvoke를 사용 하 여 BeginInvoke에 의해 시작 된 프로세스가 완료 될 때까지 기다립니다.Use EndInvoke to wait until the process started by BeginInvoke completes.

  2. Invoke 메서드를 사용 하 여 동기적으로Synchronously, by using the Invoke method. Invoke는 프로세스를 시작 하 고 완료 될 때까지 기다린 다음을 반환 합니다.Invoke starts a process, waits until it completes, and then returns. 컨트롤의 주 스레드가 호출 스레드와 다른 경우 Invoke를 사용 하 여 호출을 적절 한 스레드로 마샬링합니다.Use Invoke when the control's main thread is different from the calling thread to marshal the call to the proper thread.

참고

이 클래스에 적용 되는 HostProtectionAttribute 특성에는 Synchronization | ExternalThreadingResources 속성 값이 있습니다.The HostProtectionAttribute attribute applied to this class has the following Resources property value: Synchronization | ExternalThreading. HostProtectionAttribute는 대개 아이콘을 두 번 클릭하거나, 명령을 입력하거나, 브라우저에서 URL을 입력하여 시작되는 데스크톱 애플리케이션에 영향을 미치지 않습니다.The HostProtectionAttribute does not affect desktop applications (which are typically started by double-clicking an icon, typing a command, or entering a URL in a browser). 자세한 내용은 참조는 HostProtectionAttribute 클래스 또는 SQL Server 프로그래밍 및 호스트 보호 특성합니다.For more information, see the HostProtectionAttribute class or SQL Server Programming and Host Protection Attributes.

속성

InvokeRequired

해당 인터페이스를 구현하는 개체를 호출할 때 호출자에서 Invoke(Delegate, Object[])를 호출해야 하는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the caller must call Invoke(Delegate, Object[]) when calling an object that implements this interface.

메서드

BeginInvoke(Delegate, Object[])

이 개체를 만든 스레드에서 대리자를 비동기적으로 실행 합니다.Asynchronously executes the delegate on the thread that created this object.

EndInvoke(IAsyncResult)

BeginInvoke(Delegate, Object[])를 호출하여 시작된 프로세스가 완료될 때까지 대기한 다음 프로세스에서 생성된 값을 반환합니다.Waits until the process started by calling BeginInvoke(Delegate, Object[]) completes, and then returns the value generated by the process.

Invoke(Delegate, Object[])

이 개체를 만든 스레드에서 대리자를 동기적으로 실행하고 만드는 스레드에 대한 호출을 마샬링합니다.Synchronously executes the delegate on the thread that created this object and marshals the call to the creating thread.

적용 대상

추가 정보