WF从入门到精通(第五章):workflow跟踪

学习完本章,你将掌握:

1.workflow的可选服务

2.创建一个事件跟踪数据库

3.激活事件跟踪服务

4.创建一个自定义跟踪

5.查看你的workflow的跟踪信息

目前为止,我们看过workflow的一些基本对象。我们通过活动创建workflow任务,它们在执行时由WorkflowInstance对象进行管理。workflow实例由WorkflowRuntime编入队列并进行控制。但WF不只是为我们提供了这些对象,它也为我们提供了一些服务来和这些对象一起协同工作。

可插拔(可选)服务

工作流服务是一些附加的软件库,你的工作流能使用它来完成它们的的任务。有些服务是非必须可选的,如本章介绍的跟踪服务。而其它的服务需要你的工作流必须执行它。

一个可插拔服务是这样一个服务,它能像照菜单点菜一样被选中以执行特定任务。例如,有管理线程的服务、跟踪的服务、事务服务等等。你可选择那些适合你的工作流的服务。你甚至还能自己进行创建。

哪这些服务看起来像什么?他们能为我们做什么?表5-1列出了可获取的基本服务,它很好地为你描述了这些可获取的服务的概念,并告诉你他们能做什么。

当中的大部分服务我们不会直接使用。我们普遍的用法是使用从这些基本服务派生出的服务。

表5-1 基本工作流服务

服务 功能
WorkflowPersistenceService 抽象基类,派生出所有持久化的服务。
WorkflowQueuingService 该基类为你提供了一些方法,使你能用来管理和一个工作流实例相关的工作流队列。
WorkflowRuntimeService 抽象基类,派生出工作流运行时的内核服务。
WorkflowScheddulerService 所有在工作流运行时宿主上创建线程以运行工作流实例的类的基类。
WorkflowSubscriptionService 那些管理订阅(Subscriptions)工作流运行时类的基类。
WorkflowTransactionService 所有事务服务的基类。
TrackingService 一个抽象基类,在跟踪服务和运行时跟踪基础结构(infrastructure)间提供了基本的接口。

请记住这些是基类。我们使用的服务实际上从它们派生。例如,当我们运行一个工作流实例时,有时需为实例创建一个线程去使用。DefaultWorkflowSchedulerService正是做这个工作的,它使用WorkflowSchedulerService作为它的基类。但假如你想自己提供这个线程,你可使用ManualWorkflowSchedulerService代替。在本章中我们将看到由SqlTrackingService提供的跟踪服务,它使用了TrackingService作为它的基类。

“可插拔(可选)”一词部分来源于下面的情况:你可能考虑在任何时间上你都可能需要使用一个调度程序服务,运行时服务,入队和订阅(定时器)服务。但你还能在工作中进一步添加持久化和跟踪服务,以及外部数据通信服务。

时间: 2024-08-03 12:13:40

WF从入门到精通(第五章):workflow跟踪的相关文章

WF从入门到精通(第一章):WF简介

学习完本章,你将掌握: 1.了解工作流的概念和理论 2.把WF和BizTalk与WCF做比较 3.开始使用WF进行编程 4.知道怎样使用Visual Studio工作流支持.以下是一小段进行邮政编码验证的代码 string USCode = @"^(\d{5}$)|(\d{5}$\-\d{4}$)"; string CanadianCode = @"[ABCEGHJKLMNPRSTVXY]\D[A-Z]\d[A-Z]\d"; public static bool V

WF从入门到精通(第九章):逻辑流活动

学习完本章,你将掌握: 1.学会怎样使用IfElse活动来执行条件表达式 2.学会怎样使用While活动来执行循环 3.理解Replicator活动是怎样来模拟for循环的,以及它的使用方法. 我们已经看到过怎样执行工作流内部和外部的代码,已经知道怎样处理异常,暂停进程,在事情脱离控制时终止我们的工作流.但无疑对于任何一个计算机系统的主要组成部分来说,都应具有根据运行时的条件做出判断以执行不同的任务的能力.在本章,我们将演示要求我们应付if/else场景及基本的循环的一些工作流活动. 条件及条件

WF从入门到精通(第二章):workflow运行时

学习完本章后,你将掌握: 1.在你的应用程序中使用workflow 2.理解"WorkflowRuntime"对象的的基本功能 3.知道如何启动和停止workflow运行时 4.能够使用各种workflow运行时的相关事件 当你在WF环境中执行任务时,需要一些东西来监管执行的过程,这个东西就是命名为"WorkflowRuntime"的对象.WorkflowRuntime启动一个独立的工作流任务.在你的任务执行过程中,WorkflowRuntime也会针对不同的情况响

WF从入门到精通

WF从入门到精通(第十九章):把工作流发布为Web服务 WF从入门到精通(第十八章):在你的工作流中调用Web服务 WF从入门到精通(第十七章):关联及本地主机通信(下) WF从入门到精通(第十七章):关联及本地主机通信(上) WF从入门到精通(第十六章):声明式工作流 WF从入门到精通(第十五章):工作流和事务 WF从入门到精通(第十四章):基于状态的工作流 WF从入门到精通(第十二章):策略和规则 WF从入门到精通(第十三章):打造自定义活动(二) WF从入门到精通(第十三章):打造自定义活

ArcGIS for Desktop入门教程_第五章_ArcCatalog使用 - ArcGIS知乎-新一代ArcGIS问答社区

原文:ArcGIS for Desktop入门教程_第五章_ArcCatalog使用 - ArcGIS知乎-新一代ArcGIS问答社区 1 ArcCatalog使用1.1 GIS数据 地理信息系统,就是将真实的地物或地理现象抽象为计算机可表达的简单的集合类型(比如点.线.多边形),再按其几何类型和专题信息进行分类,通过计算机技术来管理和分析这些数据.从数据的组织形式上,我们通常将其分为矢量数据和栅格数据两大类. 如上图所示,分别用矢量和栅格的形式来表达一条高速公路.我们可以清晰地发现矢量数据与栅

WF从入门到精通(第六章):加载和卸载实例

学习完本章,你将掌握: 1.理解工作流实例为什么要卸载和重新加载及其时机 2.理解工作流实例为什么要持久化及其时机 3.搭建SQL Server 2005,使其为WF和工作流持久化提供支持 4.使用SqlWorkflowPersistenceService服务 5.在你的工作流代码中进行实例的加载和卸载 6.使持久化服务能自动地加载工作流实例及卸载空闲中的工作流实例 假如你花点时间真正考虑该怎样使用WF和工作流在你的应用程序中进行处理的话,你或许想像的许多解决方案中都包含那些需长时间运行的处理过

WF从入门到精通(第三章):workflow实例

学习完本章,你将掌握: 1.使用不带参数和带参数二种方式初始化一个workflow实例 2.测定你运行中的workflow实例的状况 3.停止workflow实例 4.确定你的workflow空闲或终止的原因 一个workflow实例由一个或多个活动组成.(我们将在第七章开始介绍各种活动:"Basic Activity Operations.")"primary activity"或者"root activity"被称作"workflo

MySoft.Data从入门到精通系列(五)【数据更新】

前一章讲了如何利用MySoft.Data进行数据的插入,利用DbSession可以实现各种数据增.删.改.查等各种复杂的处理,本章着重讲解一下数据的更新: 数据更新在日常开发中占据中非常重要的地位,尽次于查询.下面就讲解一下如何利用DbSession来进行数据的更新. 继续引用前面的DbSession配置,如下: /// <summary> /// 数据库访问类 /// </summary> public static class DataAccess { /// <summ

《PADS 9.5电路设计与仿真从入门到精通》——第一章 绪论 1.1 PCB的基本概念及设计工具

第一章 绪论 PADS 9.5电路设计与仿真从入门到精通 本章主要介绍PADS的基本概念及特点,包括PCB设计的一般原则.基本步骤.标准规范等.着重介绍了美国Mentor Graphics公司的PCB设计软件:PADS 9.5,包括了PADS 9.5的发展过程以及它的新特点.PADS 9.5是一款非常优秀的PCB设计软件,它具有完整强大的PCB绘制工具,界面和操作十分简洁,希望用户好好学习本书,以便更加方便地使用PADS 9.5软件. 1.1 PCB的基本概念及设计工具 PADS 9.5电路设计

网页美工设计Photoshop+Flash+Dreamweaver从入门到精通》——1章 初识网页设计与配色1.1 网页设计的相关术语

1章 初识网页设计与配色 为了能够使网页初学者对网页设计有个总体的认识,在介绍设计制作网页前,本书首先介绍网页设计的基础知识,如网页的相关术语.网页设计常用工具Dreamweaver.Flash和Photoshop以及网页的布局与配送.通过本章的学习可以为后面设计制作更复杂的网页打下良好的基础. 1.1 网页设计的相关术语 网页美工设计Photoshop+Flash+Dreamweaver从入门到精通 在学习网页设计之前,先来了解一下网页中静态网页和动态网页的基本概念. 1.1.1 什么是静态网