在工作流中使用协定
本主题适用于 Windows Workflow Foundation 4。
当实现服务时,您可以定义一些协定来描述此服务及其收发的数据。这些数据表示为数据协定和消息协定;WCF 和工作流服务均在服务说明中使用数据协定和消息协定定义。服务自身以 WSDL 形式公开元数据,以便描述服务的操作。在 WCF 中,服务协定和操作协定将定义该框架支持的服务和操作。但在工作流服务中,这些协定属于业务流程自身,它们由称为协定推理的流程在元数据中公开。
协定推理
使用 WorkflowServiceHost 承载工作流服务时,将检查工作流定义,并根据在工作流中找到的消息传递活动集生成协定。具体而言,是使用下面的活动和属性来生成协定:
Receive 活动
OperationContractName
SendReply 活动
协定推理的最终结果是具有与 WCF 服务和操作协定相同的数据结构的服务说明。然后,将使用此信息对工作流服务公开 WSDL。
注意: |
---|
.NET Framework 4 禁止使用不带某些附加工具支持的现有协定定义来编写工作流服务。不能使用现有 WCF 服务协定生成工作流服务协定。工作流服务协定由前面讨论的协定推理流程创建。不过,消息协定和数据协定完全受到支持。 |