public DataExchangeEngine()
 {
     //注册通用数据交换服务
     AddHandle("*", new GeneralDataExchangeHandle());
     //注册扩展的数据交换服务
     foreach (DataExchangeProviderInfo info in LightWorkflowSettings.Instance.DataExchangeProviderInfos)
     {
         string proecessCode = info.Key.Trim().ToUpper();
         //根据info.Key,实现不同类型的流程注册不同的处理方法
         IDataExchangeHandle handle = DataExchangeHandleBuilder.Instance.Build(info.Key);
         if (handle != null)
         {
             AddHandle(proecessCode, handle);
         }
     }
 }
        protected void AddHandle(string processCode, IDataExchangeHandle handleInstance)
        {
            DataExchangeInstance instance = null;

            if (!dataExchangeInstanceList.ContainsKey(processCode))
            {
                instance = new DataExchangeInstance();
                dataExchangeInstanceList.Add(processCode, instance);
            }
            else
            {
                instance = dataExchangeInstanceList[processCode];
            }
            instance.ProcessStarted           += handleInstance.OnProcessStarted;
            instance.ProcessReStarted         += handleInstance.OnProcessReStarted;
            instance.ProcessApprovalCompleted += handleInstance.OnProcessApprovalCompleted;
            instance.ProcessCompleted         += handleInstance.OnProcessCompleted;
            instance.NodeInitiated            += handleInstance.OnNodeInitiated;
            instance.NodeCompleted            += handleInstance.OnNodeCompleted;
            instance.ProcessRejected          += handleInstance.OnProcessRejected;
            instance.ProcessForwarded         += handleInstance.OnProcessForwarded;
            instance.ProcessEntrusted         += handleInstance.OnProcessEntrusted;
            instance.ProcessCanceled          += handleInstance.OnProcessCanceled;
        }