ISynchronizeInvoke ISynchronizeInvoke ISynchronizeInvoke ISynchronizeInvoke Interface

Определение

Обеспечивает возможность синхронного или асинхронного выполнения делегата.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.

Примечание

| ExternalThreading Resources Synchronization Атрибут, примененный к этому классу, имеет следующее значение свойства:. HostProtectionAttributeThe 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 InvokeRequired InvokeRequired 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[]) BeginInvoke(Delegate, Object[]) BeginInvoke(Delegate, Object[]) BeginInvoke(Delegate, Object[])

Асинхронно выполняет делегата для потока, создавшего этот объект.Asynchronously executes the delegate on the thread that created this object.

EndInvoke(IAsyncResult) EndInvoke(IAsyncResult) EndInvoke(IAsyncResult) 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[]) Invoke(Delegate, Object[]) Invoke(Delegate, Object[]) Invoke(Delegate, Object[])

Синхронно выполняет делегат в потоке, создавшем этот объект, а затем выполняет маршалинг вызова в текущий поток.Synchronously executes the delegate on the thread that created this object and marshals the call to the creating thread.

Применяется к

Дополнительно