上一篇:【翻译】WF从入门到精通(第一章):WF简介
表2-1 WorkflowRuntime的属性
表2-2 WorkflowRuntime的方法
四、在上述代码后添加如下方法:
五、为类加上Public关键字,为防止类被直接实例化,还必须为类加上static标记,如下所示: public static class workflowFactory 启动workflow运行时 参考表2-2,里面有一个StartRuntime方法,从我们的工厂对象中调用这个方法很有意义,外部对象要求workflow运行时对象无需处理或担心运行时环境状态的初始化。我们需要在我们的应用程序通过这一步来建立我们需要的workflow环境。外部调用对象也需要workflow运行时对象易于使用。 并不是一定要调用StartRuntime。假如我们建立了一个workflow实例,StartRuntime实际上就已被调用。假如我们曾经创建了一个workflow实例,或许并不用担心需要明确的调用StartRuntime。但是,一旦我们添加服务时,明确地调用它就很有必要,因为可增强代码的可维护性并确信运行时环境的状态已建立,这样任何人就都能使用workflow运行时对象。 因此让我们在我们的工厂对象中做些轻微的更改并直接调用StartRuntime。 1.打开WorkflowFactory.cs文件并定位到下面的代码上: _workflowRuntime = new WorkflowRuntime(); 2.在上面的代码下添加以下的代码: _workflowRuntime.Starttime(); 停止workflow运行时 是否有办法启动一个workflow运行时很有意义,如何停止一个workflow运行时也一样。看看表2-2吧,里面有一个StopRuntime方法正好符合我们要求。调用StopRuntime方法会卸载所有正执行的workflow和服务并关闭workflow运行时环境。当然,正确调用StopRuntime位置是在你申请停止逻辑结束之前或者应用程序域关闭前调用。 1.打开WorkflowFactory.cs文件并定位到下面的代码上 _workflowRuntime = new WorkflowRuntime(); 2.在上面代码的前面增加以下代码: _workflowRuntime.Starttime(); 3.在WorkflowFactory.cs中增加StopWorkflowRuntime事件处理函数:
以下是WorkflowFactory.cs文件的完整源代码,在第五章之前我们不会做更多的改变:
表2-3 workflow运行时的相关事件描述
源码下载:WorkflowHost
下一篇:【翻译】WF从入门到精通(第三章):workflow实例
GuoYong.Che@Gmail.com