Posted on 2008-09-12, 09:17, by Windie Chai, under
《WF编程》.
SQL持久化和跟踪服务分别为工作流状态和跟踪信息提供了持久的存储。但是,它们并没有一起工作。具体来说,每个服务都会使用不同的数据库连接来进行操作。工作流Runtime也因此会使用多个数据库连接。如果跟踪服务开启了事务支持,则会导致额外的开销出现。当事务跨越多个连接时,微软分布式事务协调程序(Microsoft Distributed Transaction Coordinator,MSDTC)会接受事务的管理。MSDTC也会造成一些开销。WF为同时使用了SQL持久化和SQL跟踪服务的应用程序提供了优化方案:SharedConnectionWorkflowCommitWorkBatchService类。这个服务允许两个SQL服务共享一个连接(前提是这两个SQL服务的连接字符串是相同的)。
Posted on 2008-09-10, 09:07, by Windie Chai, under
《WF编程》.
Windows Workflow 提供了可扩展可收缩的跟踪功能来捕捉和记录工作流的执行信息。对于接收到的工作流信息,跟踪服务会使用跟踪配置(tracking profile)来进行筛选。WF Runtime可以发送许多信息,包括工作流事件、活动状态更改、规则判断和我们的自定义检测数据(custom instrumentation data)。跟踪服务有能力决定如何处理接收到的数据,可以把它们记录到日志文件里,也可以保存到数据库中。跟踪服务会参与到工作流Runtime中来,以确保它记录的信息是一致并且持久的。
Posted on 2008-08-27, 09:03, by Windie Chai, under
《WF编程》.
工作流在长时间运行时难免会遇到一些问题,许多业务逻辑需要花费数日、数周乃至数月。在这段时间中,我们不能让工作流实例一直驻留在内存中(比如,我们需要一份开支报告,而不巧的是对此负责的会计师却在西班牙海滩休假,怎么办呢?)。在Windows Workflow中,可以通过持久化服务来解决长时间运行的工作流可能遇到的问题。
标签:
Persistence,
Runtime,
WF,
Workflow,
工作流,
序列化,
持久化,
持久性,
数据库,
服务,
配置文件 1 Comment |
Read the rest of this entry »
Posted on 2008-07-29, 13:09, by Windie Chai, under
《WF编程》.
在WF中,调度服务的职责是将工作流安排到线程上来执行。WF提供了两个调度服务:DefaultWorkflowSchedulerService和ManualWorkflowSchedulerService。如果我们不去显式的配置调度服务,Runtime会使用默认的调度器(DefaultWorkflowSchedulerService)。这两个调度器都继承自 WorkflowSchedulerService类。如果我们需要自定义的调度逻辑,也可以从此基类继承,并重写它的虚方法。
Posted on 2008-04-21, 01:37, by Windie Chai, under
《WF编程》.
Windows Workflow 其实是一个Runtime,而不是应用程序。在启动工作流之前,宿主进程必须先加载并运行工作流Runtime。宿主进程告诉Runtime要创建什么类型的工作流,Runtime则负责管理工作流的生命周期并通知宿主进程重要的生命周期事件,比如工作流的完成和终结。Runtime并不挑剔它的宿主,宿主可以是台式机上的智能客户端应用程序,也可以是机架上的服务器中运行的ASP.NET进程。所有宿主进程需要做的只是加载.NET 3.0工作流程序集而已。
Posted on 2008-04-10, 01:30, by Windie Chai, under
《WF编程》.
在Windows Workflow中,活动的状态共有六种。这些状态通过ActivityExecutionStatus枚举来表示:Initialized、Executing、Closed、Canceling、Compensating和Faulting。所有活动都从Initialized状态开始,并以Closed状态结束。
Posted on 2008-03-18, 01:33, by Windie Chai, under
《WF编程》.
从根本上来说,采用组成法或继承法来创建自定义活动并没有太大的差别.之前我们创建的GetUploadActivity就是从SequenceActivity类继承的.组成法和继承法都使用了继承.
Posted on 2008-03-18, 01:33, by Windie Chai, under
《WF编程》.
本文汇总了《WF编程》系列的所有已翻译文章,并按照原书的章节对号入座,以便大家更有针对性地阅读。
Posted on 2008-01-30, 02:19, by Windie Chai, under
《WF编程》.
引进依赖属性的最终目标是管理状态.依赖属性并不是Windows Workflow专有的,与WF类似,同样使用XAML来表示的Windows Presentation Foundation也应用了依赖属性.
Posted on 2008-01-10, 01:36, by Windie Chai, under
《WF编程》.
组合活动就像一个黑盒子,工作流设计器无法获取这个黑盒子内部的属性和事件,除非我们把这些属性和事件曝露给外部世界.属性升级(Property promotion)允许组合活动的设计者去决定属性对于外部世界的可见性.