共用方式為


如何使用 MessageBox 直接繫結連接埠

MessageBox 直接繫結連接埠可讓您直接將訊息放入 MessageBox 資料庫,而不指定明確的收件者;以及訂閱符合特定準則的訊息,而非來自特定傳送者的訊息。

在 MessageBox 直接繫結連接埠上傳送訊息,就等於將訊息發佈至訊息匯流排 (在本案例中,即 MessageBox 資料庫)。 任何發佈的訊息都可以有任意數目的訂閱者,如果發佈訊息當時沒有任何訂閱者對此訊息有興趣,將會擲回「找不到訂閱」例外狀況。 如果您透過 MessageBox 直接系結埠傳送郵件,並考慮到特定收件者,您可能會想要在 訊息指派 圖形中將屬性設定為特定值,以供預定訂閱者尋找。 您可以根據 BizTalk Server 預先定義的屬性定義或自訂屬性定義來設定屬性。 例如:

myMessage(PropertyNamespace.PropertyName) = "My Property")

透過 MessageBox 直接繫結連接埠接收訊息,相當於使用篩選準則來訂閱訊息匯流排。 訊息的收件者可以是任何能訂閱訊息的服務類型,這包括協調流程和傳送埠。 針對啟動的 接收 圖形,訂閱是訊息類型和篩選運算式,而對於未啟用的 接收 圖形,訂閱是訊息類型和相互關聯集。 每個 接收 圖形一律會在其訂用帳戶中包含訊息類型。

注意

如果您有啟動的 接收 圖形收到類型為System.Xml 的訊息,則必須使用篩選運算式 。XmlDocumentMicrosoft.XLANGs.BaseTypes.Any 在具有訂用帳戶定義路由的直接系結埠上。

如果您在啟動的 接收 圖形中未指定任何篩選準則,且連線到 MessageBox 直接系結埠,則訂用帳戶看起來會如下所示:

http://schemas.microsoft.com/BizTalk/2003/system-properties.ReceivePortID == {2F6A80E1-2518-4A69-9C28-401C2DB1CBF6} And
http://schemas.microsoft.com/BizTalk/2003/system-properties.MessageType == http://MyMessageType

在前述範例中,MessageBox 直接繫結接收埠將會接收符合為連接埠作業所設定之訊息類型的所有訊息。

注意

使用 MessageBox 直接繫結接收埠時,您應該盡可能具體明確地設定篩選條件。 如果篩選條件設定得不夠明確,您的協調流程可能會收到不需要的訊息。

若要設定 MessageBox 直接系結埠,請在 [埠設定精靈] 的 [訊息方塊] 資料庫中,篩選傳入訊息的運算式來定義埠之間的路由

如需如何使用 MessageBox 直接系結埠的範例,請參閱 上的 https://go.microsoft.com/fwlink/?LinkId=73703 SDK 範例「直接系結至協調流程中的 MessageBox 資料庫」。

另請參閱

如何使用 Self-Correlating 直接系結埠如何使用合作夥伴協調流程直接系結埠