OperationScope

本主题适用于 Windows Workflow Foundation 4。

此示例演示如何使用消息传送活动(ReceiveSendReply),将现有的自定义活动作为工作流服务中的操作公开。此示例包含一个名为 OperationScope 的新的自定义活动。这样做的目的是,通过允许用户将其操作的主体作为自定义活动单独创作,然后使用 OperationScope 活动轻松地将这些活动作为服务操作公开,从而方便工作流服务的开发。例如,对于一个采用两个 in 参数并返回一个 out 参数的自定义 Add 活动,可以通过将其拖放到 OperationScope 中来将其作为工作流服务上的 Add 操作公开。

范围用于检查作为其主体提供的活动。任何未绑定的 in 参数都被认为是来自传入消息的输入。所有 out 参数(无论它们是否已绑定)都被认为是后续回复消息中的输出。公开的操作名称取自 OperationScope 活动的显示名称。最终结果是,主体活动包装在 ReceiveSendReply 中,并且消息中的形参绑定到活动的实参。

此示例使用 HTTP 终结点公开一个工作流服务。若要运行,必须添加合适的 URL ACL。有关更多信息,请参见配置 HTTP 和 HTTPS(可能为英文网页)。在具有提升权限的命令提示符处执行以下命令以添加适当的 ACL(确保使用您的域和用户名替换 %DOMAIN%\%UserName%)。

netsh http add urlacl url=http://+:8000/ user=%DOMAIN%\%UserName%

运行示例

  1. 在 Visual Studio 2010 中打开 OperationScope.sln 解决方案。

  2. 通过在解决方案资源管理器右击解决方案并选择**“设置启动项目”**来设置多个启动项目。添加“Scenario”和“Scenario_Client”(按此顺序)作为多个启动项目。

  3. 按 F6 生成解决方案。

    Ee662961.Warning(zh-cn,VS.100).gif 警告:
    由于自定义活动 OperationScope 的原因,要求使用此步骤查看 BankService.xaml 工作流。

  4. 按 Ctrl+F5 运行应用程序。Scenario_Client 控制台将提示您输入,而对应的输出将显示在 Scenario 控制台中。

Ee662961.Important(zh-cn,VS.100).gif 注意:
您的计算机上可能已安装这些示例。在继续操作之前,请先检查以下(默认)目录:

<安装驱动器>:\WF_WCF_Samples

如果此目录不存在,请访问针对 .NET Framework 4 的 Windows Communication Foundation (WCF) 和 Windows Workflow Foundation (WF) 示例(可能为英文网页),下载所有 Windows Communication Foundation (WCF) 和 WF 示例。此示例位于以下目录:

<安装驱动器>:\WF_WCF_Samples\WF\Scenario\Services\OperationScope