使用可分辨字段和属性字段

可分辨字段是特别感兴趣的消息数据,主要用于做决策或处理数据。

消息属性是有关消息的数据(消息本身的内容或“元数据”)上下文信息,例如时间戳或路由信息。 可以使用系统定义的消息上下文属性或传输上下文属性,也可以通过从属性架构中引用架构字段来定义自己的属性。 属性用于订阅和关联。

  • 可以使用编辑器中的“ 提升属性 ”对话框将架构中的字段指定为可分辨字段或属性字段。 有关详细信息,请参阅“提升属性”

  • 可以通过使用 DistinguishedField 属性将 .NET 类型中的字段指定为可分辨字段,或者使用 Property 属性将其指定为属性。

使用可分辨字段

可区分字段是通过消息中字段的路径引用的,分别用句点分隔消息名称、包含字段的任何记录的名称和字段本身的名称。

MyMessage.MyRecord.MySubrecord.MyDistinguishedField  

使用属性字段

将字段添加到属性架构后,可以使用代码和筛选器表达式在业务流程中访问其值。 有关属性架构的详细信息,请参阅 属性架构

注释

消息内容或数据属性本质上是基础数据的快捷方式:如果修改属性,将修改数据,反之亦然。

消息属性表示为消息名称后接命名空间(架构)和括号中的属性名称:

MyMessage(Invoice.PropertySchema.InvoiceID)  

注释

使用保留关键字作为架构中的字段的名称时,通过选择“快速升级”来提升字段,字段的属性名称将更改为 __<Reserved Keyword>。 (在属性名称之前添加双下划线。)但是,如果在业务流程表达式中使用此属性名称,则在生成业务流程时会收到编译器错误。 若要解决此错误,需要在双下划线之前手动添加 @ 。 例如,

MyMessage(Invoice.PropertySchema.@__Name) = "Product Name";

属性集

还可以将一条消息(属性集)的所有上下文属性分配给另一条消息的上下文属性。 若要分配属性集,只需将星号放在两个消息名称之后的括号中,就像在括号中放置属性一样:

MyMessage2(*)=MyMessage1(*);  

在示例中将属性集分配给 MyMessage2 后,MyMessage2 中的所有属性都包含与 MyMessage1 中的属性相同的值。

另请参阅

提升属性
将筛选器与接收消息形状配合使用
在业务流程中使用消息
关于 BizTalk 消息上下文属性