共用方式為


使用 COM+ 佇列式元件的 COM+ 事件

COM+ 事件服務可用來管理從發行者傳遞至訂閱者的事件。 COM+ 佇列元件服務可用來讓發行者和訂閱者處理時間獨立,方法是將發行者的訊息排入佇列,稍後再將它重新執行給訂閱者。 您是否需要使用佇列元件服務,取決於應用程式的基礎商業規則。 如果您需要具有與時間無關的事件,您可以使用 COM+ 事件服務搭配 COM+ 佇列元件服務來建立事件。

注意

如需使用 COM+ 佇列元件服務的其他資訊,請參閱 COM+ 佇列元件

 

佇列元件服務會維護單一訊息內的方法調用順序。 錄製器會將所有方法調用批處理成訊息,然後播放程式會在處理訊息時依序叫用這些方法。

佇列元件的錄製器和播放器可以放置在以下兩個位置之一:

  • 在發行者與事件對象之間
  • 事件對象與訂閱者之間

如果您在發行者和事件對象之間放置錄製器和播放程式,您會將 事件類別 元件排入佇列。 事件類別元件必須標示為佇列,並由玩家在與發行者分開的進程中啟動。

若要以異步方式傳遞事件,請在事件對象與訂閱者之間撰寫錄製機和播放程式,並設定訂閱物件的 Queued 屬性。 這會設定 SubscriberMoniker,如下所示:「queue:/new:/{12345678-1234-1234-1234-123456789012}」。

在事件情況下使用佇列元件時,需要考慮傳遞順序及其可能影響。 由於佇列元件服務會記錄並播放單一訊息中單一物件存留期間內的所有呼叫,因此所有呼叫都會依照其進行的順序重新執行。 不過,如果有多個會話且每個會話包含多個物件,則無法保證順序。 如果順序很重要,請確定需要依序播放的呼叫位於相同的對象實例上。

在 COM+ 中篩選事件

在 COM+ 中發布和傳遞事件

訂閱

COM+ 事件類別物件