活动关系验证
本主题适用于 Windows Workflow Foundation 4。
此示例由以下三个活动组成:CreateCity
、CreateState
和 CreateCountry
。CreateCity
必须在 CreateState
活动内,并且 CreateState
必须在 CreateCountry
活动内。此示例出于演示的需要,对 CreateState
活动使用代码形式的验证逻辑,而对 CreateCity
活动使用 XAML 形式的验证逻辑。这两个约束具有相同的行为。
.NET Framework 版本 4 提供了以下三个帮助器活动,开发人员可使用它们验证各活动之间的关系。
- GetParentChain
提供属于当前节点的父级的所有工作流元素的集合
- GetChildSubtree
提供属于当前节点的子树(不包括当前节点)的所有工作流元素的集合
- GetWorkflowTree
提供当前节点所在的同一树中的所有工作流元素的集合
在此示例中,ForEach 活动用于遍历 GetParentChain 返回的集合。对于集合中的每个元素,都会将其类型与 CreateCountry
进行比较(如果验证的是 CreateCity
,则与 CreateState
进行比较),一旦发现匹配项,则会将结果标志设置为 true。最后,AssertValidation 用于在结果标志设置为 false 时生成验证错误。
使用此示例
在 Visual Studio 2010 中打开 ContainmentValidation.sln 示例解决方案。
生成解决方案。
按 Ctrl + F5 启动程序。
注意: |
---|
您的计算机上可能已安装这些示例。在继续操作之前,请先检查以下(默认)目录:
<安装驱动器>:\WF_WCF_Samples
如果此目录不存在,请访问针对 .NET Framework 4 的 Windows Communication Foundation (WCF) 和 Windows Workflow Foundation (WF) 示例(可能为英文网页),下载所有 Windows Communication Foundation (WCF) 和 WF 示例。此示例位于以下目录:
<安装驱动器>:\WF_WCF_Samples\WF\Basic\Validation\ActivityRelationships
|