工作流服务实用工具
此项目包含本节中的其他示例用来为本地服务操作上下文和创建侦听器基础结构的所有实用工具。此项目不是示例,它供双工工作流服务示例和计算器客户端示例示例用作实用工具项目。
提示
此示例需要安装 .NET Framework 3.5 版才能生成和运行。若要打开项目和解决方案文件,需要使用 Visual Studio 2008。
此项目提供了以下两个帮助器类:LocalWorkflowServiceHost
和 ContextManager
。
LocalWorkflowServiceHost
LocalWorkflowServiceHost
帮助器类允许本地主机应用程序与单个 WorkflowService 实例交互操作。所有的交互都是通过服务协定借助于消息传递完成的。ServiceHost 类型为本地主机提供的单一实例服务实现创建一个 ServiceHost,同时还为工作流服务实现创建一个 WorkflowServiceHost。该类型会自动为本地服务和工作流服务创建本地侦听器终结点以允许进行通信。工作流可以使用名为 HostEndpoint
的客户端终结点来与本地主机终结点进行通信。本地主机可以使用 CreateLocalChannel<T> 来创建到工作流服务的通道。此类还管理单个工作流实例的上下文,以便可以关闭并重新启动应用程序,从而恢复以前的工作流实例。这会假设工作流实例可长期存储。
ContextManager
ContextManager
类提供操作上下文所必需的全部帮助器函数。它提供的函数可用于从通道中提取上下文、对通道应用上下文和对发送活动应用终结点地址。
为了利用这些帮助器类,可以在自己的解决方案中使用此示例。