“宿主通信”示例

Download sample

此示例演示如何通过使用本地服务接口与工作流宿主应用程序进行通信。

为了使宿主应用程序能够与运行的工作流通信,必须使用本地服务类。 本地服务类实现可由宿主应用程序调用的方法,以及工作流可通过使用 HandleExternalEventActivity 活动侦听的事件。 使用 AddService 将一个 ExternalDataExchangeService 服务添加到了工作流运行时;随后将本地服务类添加到了外部数据交换服务。 然后,工作流通过查询本地服务类实现的接口来访问本地服务。

在示例中,将服务类 VotingService 的实例添加到了运行时。 然后,工作流通过查询实现 IVotingService 接口的对象来与此服务进行交互。

该投票服务类和接口支持两个事件:ApprovedProposalRejectedProposal。 宿主应用程序通过 CreateBallot 方法引发这些事件;然后,通过(ListenActivity 活动中的)HandleExternalEventActivity 活动在工作流中处理这些事件。

生成示例

  1. 通过单击**“下载示例”**来下载该示例。

    这会将示例项目提取到本地硬盘。

  2. 单击**“开始”,依次指向“程序”“Microsoft Windows SDK”,然后单击“CMD 外壳”[CMD Shell]**。

  3. 转到示例的源目录。

  4. 在命令提示符处键入 MSBUILD <解决方案文件名>

运行示例

  • 在 SDK 命令提示窗口中,运行 HostCommunication\bin\debug 文件夹(对于该示例的 VB 版本为 HostCommunication\bin 文件夹)中的 .exe 文件,该文件夹位于该示例的主文件夹下。

请参见

参考

HandleExternalEventActivity
ListenActivity

其他资源

Using the HandleExternalEventActivity Activity
Creating Custom Communication Activities
Communicating with Other Workflows
Using the ListenActivity Activity
“活动”示例
通信示例
Windows Workflow Foundation 示例

Footer image

版权所有 (C) 2007 Microsoft Corporation。保留所有权利。