ISynchronizeInvoke 介面

定義

提供同步或非同步執行委派 (Delegate) 的方式。

public interface class ISynchronizeInvoke
public interface ISynchronizeInvoke
type ISynchronizeInvoke = interface
Public Interface ISynchronizeInvoke
衍生

備註

介面 ISynchronizeInvoke 提供對象之間有關發生事件之同步和異步的通訊。 實作此介面的物件可以接收事件已發生的通知,而且可以回應事件的相關查詢。 如此一來,用戶端就可以在提交相依於第一個要求的後續要求之前,先確定已處理一個要求。

類別 ISynchronizeInvoke 提供兩種方式來叫用進程:

  1. 使用 BeginInvoke 方法,以異步方式。 BeginInvoke 啟動進程,然後立即傳回。 使用 EndInvoke 等候程式完成為止 BeginInvoke

  2. 使用 方法,以同步方式 InvokeInvoke 啟動進程,等到程式完成,然後傳回。 當控件的主線程與呼叫線程不同時,請使用 Invoke ,以封送處理對適當線程的呼叫。

注意

HostProtectionAttribute用至這個類別的屬性具有下列Resources屬性值: | SynchronizationExternalThreadingHostProtectionAttribute 不會影響桌面應用程式 (這些應用程式的啟動方式一般都是按兩下圖示、輸入命令或在瀏覽器輸入 URL)。 如需詳細資訊,請參閱 HostProtectionAttribute 類別或 SQL Server 程式設計與主機保護屬性

屬性

InvokeRequired

取得值,表示當呼叫實作這個介面的物件時,呼叫端是否必須呼叫 Invoke(Delegate, Object[])

方法

BeginInvoke(Delegate, Object[])

在建立此物件的執行緒上以非同步方式執行委派。

EndInvoke(IAsyncResult)

等候直到由呼叫 BeginInvoke(Delegate, Object[]) 所啟動的處理序完成,然後傳回處理序所產生的值。

Invoke(Delegate, Object[])

在建立此物件的執行緒上同步執行委派,並封送處理對建立執行緒的呼叫。

適用於

另請參閱