如何使用 MessageBox 直接绑定端口

通过 MessageBox 直接绑定端口,可以在没有显式收件人的情况下将邮件直接拖放到 MessageBox 数据库中,并订阅符合特定条件的邮件,而不是来自特定发件人的邮件。

在 MessageBox 直接绑定端口上发送消息等效于将消息发布到消息总线,在本例中,将消息发布到 MessageBox 数据库。 对于任何已发布的消息,可存在任意数目的订户;并且,如果在您发布消息时没有任何订户对此消息感兴趣,将引发“找不到订阅”异常。 如果通过 MessageBox 直接绑定端口发送邮件时考虑到特定收件人,则可能需要在“ 邮件分配” 形状中将属性设置为特定值,以供目标订阅者查找。 可以基于BizTalk Server预定义属性定义或自己的属性定义来设置属性。 例如:

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

通过 MessageBox 直接绑定端口接收消息等效于订阅具有筛选条件的消息总线。 消息的接收者可以是可以订阅消息的任何类型的服务,其中包括业务流程和发送端口。 对于激活的 Receive 形状,订阅是消息类型和筛选器表达式,对于非激活的 Receive 形状,订阅是消息类型和关联集。 每个 接收 形状始终包含消息类型作为其订阅的一部分。

注意

如果激活 接收形状接收System.Xml 类型的消息,则必须使用筛选器表达式 。使用 订阅定义的路由的直接绑定端口上的 XmlDocument 或 Microsoft.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=73703SDK 示例“直接绑定到业务流程中的 MessageBox 数据库”。

另请参阅

如何使用 Self-Correlating 直接绑定端口如何使用合作伙伴业务流程直接绑定端口