创建singleton模式的工作流引擎

本文介绍了一个基于单例模式实现的工作流引擎,通过一个简单的.NET WF工作流工厂类来管理并启动工作流实例。该工厂类确保了在整个应用程序中只存在一个工作流运行时实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在一个系统推荐只有一个工作流引擎(当然也可以有多个)方便管理工作流实例,下面是单态模式的工作流工厂类文件。比较简单就不一一说明了
using System;
using System.Collections.Generic;
using System.Text;
using System.Workflow.Runtime;
using System.Workflow.Runtime.Tracking;
using System.Configuration;

namespace ConsoleApplicationForWWF
{
public static class WorkflowFactory
 {
private static WorkflowRuntime wfr = null;

 private static object sys = new object();//同步锁对象

 public static WorkflowRuntime GetWorkflowRuntime()
 {
 lock (sys)
 {
if (wfr == null)
 {
 AppDomain.CurrentDomain.ProcessExit += new EventHandler(StopWorkflowRuntime);
 AppDomain.CurrentDomain.DomainUnload += new EventHandler(StopWorkflowRuntime);
 wfr = new WorkflowRuntime();
 }
 return wfr;
}
 }

static void StopWorkflowRuntime(object sender, EventArgs e)
{
if (wfr != null)
 {
 if (wfr.IsStarted)
{
try
{
 wfr.StopRuntime();
 }
 catch (ObjectDisposedException e2)
 {
 Console.WriteLine("Error ! the workflowruntime is not disposed :" + e2.ToString());
 }

}
 }

 }
 
 }
}

本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。

转载于:https://www.cnblogs.com/zjypp/archive/2008/01/18/2319469.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值