ISynchronizeInvoke 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供同步或异步执行委托的方法。
public interface class ISynchronizeInvoke
public interface ISynchronizeInvoke
type ISynchronizeInvoke = interface
Public Interface ISynchronizeInvoke
- 派生
注解
接口 ISynchronizeInvoke 在对象之间提供有关事件发生的同步和异步通信。 实现此接口的对象可以接收已发生事件的通知,并且可以响应有关事件的查询。 这样,客户端可以确保在提交依赖于第一个请求完成的后续请求之前处理了一个请求。
类 ISynchronizeInvoke 提供两种调用进程的方法:
异步方式,使用 BeginInvoke 方法。 BeginInvoke 启动一个进程,然后立即返回。 使用 EndInvoke 等待进程启动完成 BeginInvoke 。
使用 Invoke 方法同步。 Invoke 启动进程,等待进程完成,然后返回。 Invoke当控件的main线程与调用线程不同时使用 ,以封送对正确线程的调用。
注意
HostProtectionAttribute应用于此类的属性具有以下Resources属性值:Synchronization | ExternalThreading。 HostProtectionAttribute 不影响桌面应用程序(通常通过双击图标、键入命令或在浏览器中输入 URL 来启动这些应用程序)。 有关详细信息,请参阅 HostProtectionAttribute 类或SQL Server编程和主机保护属性。
属性
InvokeRequired |
获取一个值,通过该值指示当调用实现此接口的对象时,调用方是否必须调用 Invoke(Delegate, Object[])。 |
方法
BeginInvoke(Delegate, Object[]) |
在创建了此对象的线程上异步执行委托。 |
EndInvoke(IAsyncResult) |
等待通过调用 BeginInvoke(Delegate, Object[]) 启动的进程完成,然后返回该进程生成的值。 |
Invoke(Delegate, Object[]) |
在创建了此对象的线程上同步执行委托并封送对创建线程的调用。 |