Send 活动设计器

**“Send”**活动设计器用于创建和配置 Send 活动。

Send 活动

Send 活动用于向服务发送消息。作为客户端上请求/响应消息交换模式的一部分接收消息的 ReceiveReply 活动可绑定到 Send 活动。

使用 Send 活动设计器

**“Send”活动设计器可在“工具箱”“消息传递”类别中找到,“工具箱”可通过单击 工作流设计器 中的“工具箱”选项卡(或者,从“视图”菜单中选择“工具栏”**或按 Ctrl+Alt+X)来访问。

可以将**“Send”活动设计器从“工具箱”拖放到 工作流设计器 图面上通常放置活动的任何位置。这将创建具有 Sent 的默认 DisplayNameSend 活动。可以在“Send”活动设计器的标头中或在属性网格的“DisplayName”**框中编辑 DisplayName

若要创建 ReceiveReply 活动并将其绑定到所选 Send 活动,请右击**“Send”活动设计器,然后在上下文菜单中单击“创建 ReceiveReply”项,此时“ReceiveReplyForSend”设计器将显示在“Send”设计器下。ReceiveReply 活动是作为客户端上请求/响应消息交换模式的一部分接收消息的一个活动。它可通过“ReceiveReplyForSend”**设计器进行配置。

此外,**“工具箱”“消息传递”类别中的“SendAndReceiveReply”模板设计器可用于创建一对预配置的 SendReceiveReply 活动。有关如何使用“SendAndReceiveReply”“ReceiveReplyForSend”**模板的更多信息,请参见 SendAndReceiveReply 模板设计器主题。

Sent 活动属性

下表列出 Send 属性并说明如何在设计器中使用它们。这些属性可以在属性网格中或 工作流设计器 图面上进行编辑。

属性名 必需 用法

DisplayName

False

Send 活动的友好名称。默认值为 Sent。虽然 DisplayName 不是绝对必需的,但最好使用该属性。

OperationName

True

由此 Send 活动调用的服务操作的名称。如果未显式设置 Action 属性,则此属性用于构造 Action 属性的默认值。

ServiceContractName

True

实现了要调用的服务的服务协定的名称。

Content

False

指定要接收的消息或参数内容。它可为 ReceiveMessageContent 活动或 ReceiveParametersContent 活动。编辑此属性的方法是单击属性网格中“内容”字段旁的椭圆形按钮,或单击“Receive”活动设计器图面上“内容”标签旁的“定义…”按钮。这两种方法都将显示“内容定义”对话框。有关如何使用此对话框的更多信息,请参见“内容定义”对话框主题。

CorrelatesWith

False

指定用于将消息路由到相应工作流实例的 CorrelationHandle

在属性网格中单击 CorrelatesWith 属性旁的省略号按钮可打开“表达式编辑器”对话框。有关如何使用此对话框的更多信息,请参见如何:使用表达式编辑器主题。

CorrelationInitializers

False

指定在工作流中对配置此 Send 活动的多个 CorrelationHandle 对象进行初始化的 CorrelationInitializer 对象的集合。在属性网格中单击 CorrelationInitializers 属性旁的省略号按钮可打开“添加相关初始值设定项”对话框。有关如何使用此对话框的更多信息,请参见“添加相关初始值设定项”对话框主题。

KnownTypes

False

Send 活动要调用的服务操作的已知类型集合。此属性应与设置为 DataContractSerializerSerializerOption 属性结合使用。如果使用了 XmlSerializer,则忽略此项。

在属性网格中单击“KnownTypes”字段旁的椭圆形按钮可显示“类型集合编辑器”对话框,使用该对话框可添加相关类型。

在属性网格中单击“KnownTypes”字段旁的椭圆形按钮可显示“类型集合编辑器”对话框,使用该对话框可添加相关类型。有关如何使用此对话框的更多信息,请参见“类型集合编辑器”对话框主题。

ProtectionLevel

True

指定消息的 ProtectionLevel

  1. None 表示仅进行身份验证。

  2. Sign 表示对数据进行签名以帮助确保所传输数据的完整性。

  3. EncryptAndSign 表示对数据进行加密和签名以帮助确保所传输数据的保密性和完整性。

SerializerOption

True

Send 活动要调用的服务操作所用的序列化程序。默认值为 DataContractSerializer,它使用提供的数据协定将类型实例序列化和反序列化为 XML 流或文档。

Action

False

指定消息的操作标头。如果未显式设置,则其默认值为:https://tempuri.org/{服务协定命名空间}/{服务协定名称}/{操作名称}。如果该值是对 Send 活动指定的,则接收消息的 Receive 活动必须具有同一值才能正确传递该消息。

TokenImpersonationLevel

TokenImpersonationLevel 可用于消息的接收方。它定义安全模拟级别,用于控制服务器进程可在多大程度上代表客户端进程。None 指示未分配模拟级别。Anonymous 指示服务器进程无法获取有关客户端的标识信息并且无法模拟该客户端。Identification 指示服务器进程可获取有关客户端的信息(如安全标识符和特权),但无法模拟该客户端。这对于导出自身对象的服务器非常有用,例如,导出表和视图的数据库产品。通过使用检索到的客户端安全信息,服务器可以执行访问验证决策,但无法使用其他利用客户端安全上下文的服务。Impersonation 指示服务器可在其本地系统上模拟客户端的安全上下文。服务器无法模拟远程系统上的客户端。Delegation 指示服务器进程可模拟远程系统上的客户端的安全上下文。

Endpoint

Send 活动要将消息发送到的 Endpoint。如果设置了此属性,则 EndpointConfigurationName 属性应为 null

EndpointAddress

要将消息发送到的 EndpointAddress

EndpointConfigurationName

终结点配置的名称。要在配置文件中配置一个终结点时设置此属性。此属性应设置为配置文件的 <endpoint> 元素中给定的名称。如果设置了此属性,则 Endpoint 属性应为 null

另请参见

概念

InitializeCorrelation 活动设计器
CorrelationScope 活动设计器
ReceiveAndSendReply 模板设计器
Receive 活动设计器
SendAndReceiveReply 模板设计器
TransactedReceiveScope 活动设计器