Receive 活动设计器
Receive 活动设计器用于创建和配置 Receive 活动。 Receive 活动是接收消息的活动,可接收的消息包括内置类型(如 Message、Stream 或 XElement)或者应用程序定义的数据协定、消息协定或可序列化的 XML 类。
Receive 活动
Receive 活动可以接收一个或多个项,具体取决于所用接收内容的类型。 SendReply 活动可绑定到作为服务上请求/响应消息交换模式的一部分接收消息的 Receive 活动。
使用 Receive 活动设计器
访问“工具箱”的“消息”类别中的 Receive 活动设计器 。 可以将 Receive 活动设计器从“工具箱”拖动到工作流设计器图面上通常放置活动的任何位置 。 这将创建具有 Receive 的默认 Receive 的 DisplayName 活动。 可以在 Receive 活动设计器的标头中或在属性网格的“DisplayName”框中编辑 DisplayName 。
若要创建 SendReply 活动并将其绑定到所选 Receive 活动,请右键单击 Receive 活动设计器,然后在上下文菜单中单击“创建 SendReply”项,此时 SendReplyToReceive 设计器将显示在 Receive 设计器下 。 SendReply 活动是作为服务上请求/响应消息交换模式的一部分发送答复消息的一个活动。 它可通过 SendReplyToReceive 设计器进行配置。
或者,可使用“工具箱”的“消息”类别中的 ReceiveAndSendReply 模板设计器创建一对预配置的 Receive 和 SendReply 活动 。 有关 ReceiveAndSendReply 和 SendReplyToReceive 模板用法的详细信息,请参阅 ReceiveAndSendReply 主题 。
Receive 活动属性
下表列出 Receive 属性并说明如何在设计器中使用它们。 可以在“属性”网格中或在工作流设计器图面上编辑这些属性。 唯一必需的属性是 OperationName 属性。
属性名称 | 必选 | 使用情况 |
---|---|---|
DisplayName | 错误 | 指定 Receive 活动的友好名称。 默认值为 Receive。 虽然对友好 DisplayName 使用非默认值不是绝对必需的,但最好使用非默认值。 |
OperationName | True | 指定由此 Receive 活动实现的服务操作的名称。 如果未显式设置 Action 属性,则此属性将用于构造 Action 属性的默认值 。 |
ServiceContractName | 错误 | 指定服务协定的名称。 此属性用于将服务操作分组至各个服务协定。 所有具有相同的 Receive 的 ServiceContractName 活动都分组到同一服务协定(WSDL 端口类型)中。 默认值为顶级(根)活动的完全限定的 CLR 名称。 |
Content | 错误 | 指定要接收的消息或参数内容。 它可为 ReceiveMessageContent 活动或 ReceiveParametersContent 活动。 编辑此属性的方法是选择属性网格中“内容”字段旁的省略号按钮,或单击 Receive 活动设计器图面上“内容”标签旁的“定义…”按钮 。 这两者都会显示“内容定义”对话框。 若要详细了解如何使用此框,请参阅“内容定义”对话框主题。 |
CorrelatesOn | 错误 | 使用 Receive 对象指定工作流的服务操作中各 MessageQuerySet 活动之间的关联。 单击属性网格中 CorrelatesOn 属性旁边的省略号按钮,以打开“CorrelatesOn 定义”对话框。 有关如何使用此对话框的详细信息,请参阅“内容定义”对话框主题。 |
CorrelatesWith | 错误 | 指定用于将消息路由到相应工作流实例的 CorrelationHandle。 单击属性网格中 CorrelatesWith 属性旁边的省略号按钮,以打开“表达式编辑器”对话框。 有关如何使用此对话框的详细信息,请参阅如何:使用表达式编辑器主题。 |
CorrelationInitializers | 错误 | 指定在工作流中对配置此 CorrelationInitializer 活动的多个 CorrelationHandle 对象进行初始化的 Receive 对象的集合。 在属性网格中单击 CorrelationInitializers 属性旁边的省略号按钮,打开“添加相关初始值设定项”对话框。 若要详细了解如何使用此框,请参阅“添加相关初始值设定项”对话框主题。 |
CanCreateInstance | 错误 | 指定一个值,该值确定如果消息未关联到现有的工作流实例,是否创建一个新工作流实例来处理该消息。 如果该值设置为 true,则当消息未关联到现有工作流实例时将创建一个新工作流实例来处理该消息。 |
KnownTypes | 错误 | 指定由此 Receive 活动实现的服务操作的已知类型集合。 此属性应与设置为 SerializerOption 的 DataContractSerializer 属性结合使用。 如果使用了 XmlSerializer,则忽略此项。 选择属性网格中“KnownTypes”字段旁的省略号按钮可显示“类型集合编辑器”对话框,使用该对话框可添加相关类型 。 有关如何使用此框的详细信息,请参阅“类型集合编辑器”对话框主题。 |
ProtectionLevel | 错误 | 指定消息的 ProtectionLevel。 1. ProtectionLevel 表示仅进行身份验证。 2. ProtectionLevel 表示对数据签名来帮助确保传输数据的完整性。 3. ProtectionLevel 表示对数据进行加密和签名来帮助确保传输的数据的保密性和完整性。 |
SerializerOption | 错误 | 指定 Receive 活动实现的服务操作所使用的序列化程序的类型。 默认值为 DataContractSerializer,它使用提供的数据协定将类型实例序列化和反序列化为 XML 流或文档。 如果需要对 XML 进行更多控制,还可使用 XmlSerializer。 |
Action | 错误 | 指定消息的操作标头。 如果未显式设置,则它的默认值为:https://tempuri.org/{service contract namespace}/{service contract name}/{operation name} 。 |