開發探查管線元件
如果介面必須支援訊息探查功能,任何管線元件 (一般、組合或反組譯) 都可以實 IProbeMessage
作 介面。 探查元件用於具有 FirstMatch 執行模式的管線階段。 在這種階段中,BizTalk 傳訊引擎會提供訊息的開頭部分給元件,以確定該元件是否可識別訊息的格式。 若元件可識別格式,則會傳送完整的訊息給此元件進行處理。
IProbeMessage介面會公開單一方法Probe,讓元件能夠檢查訊息的開頭部分。 其傳回值則決定此元件是否已執行。 下列步驟簡要說明 BizTalk 傳訊引擎如何執行需要識別的階段。
若階段中未包含任何元件,則不會執行此階段,而且會將訊息傳送給後續階段進行處理。
檢查元件是否實作 IProbeMessage 介面。 若未實作,傳訊引擎會叫用元件。 完成階段處理,並將訊息傳送到下一個階段。
會叫用 Probe 方法。 如果傳回值為 True,則會執行元件。 接著便完成階段處理,並將訊息傳送到下一個階段。
傳訊引擎會取得此階段中的下一個元件。 如果已經沒有其他元件,而且尚未執行任何元作,則會產生管線處理已經失敗的錯誤。 如果已經沒有其他元件,但已經執行至少一個元件,則處理已完成。
例如,如果階段不需要辨識 (,則執行模式為 All) ,傳訊引擎會叫用元件,而不需要先查詢 IProbeMessage 介面並呼叫 Probe 方法。