/// <summary>
 /// 将事务协调流程管理器写入静态字典
 /// </summary>
 public void BuildProcess()
 {
     if (currentPipline == null)
     {
         throw new EventCoordinatorException("配置流程失败!");
     }
     else if (!currentPipline.GetProcessee().Any())
     {
         throw new EventCoordinatorException("配置流程失败!");
     }
     else
     {
         piplines.Add(currentPipline);
     }
 }
 public EventProcessManagerPipline(ILogger logger, EventProcessManagerPipline pipline)
 {
     this.logger    = logger;
     this.Key       = pipline.Key;
     this.Processes = new ConcurrentQueue <ProcessConfigureBase>();
     foreach (var item in pipline.GetProcessee())
     {
         Processes.Enqueue(item);
     }
     ;
     this.CallbackList = new ConcurrentDictionary <string, ConcurrentStack <ProcessConfigureBase> >();
     foreach (var item in pipline.GetCallbackList())
     {
         var callbacklist  = new List <ProcessConfigureBase>();
         var callbackstack = new ConcurrentStack <ProcessConfigureBase>();
         foreach (var child in item.Value)
         {
             callbacklist.Add(child);
         }
         callbacklist.Reverse();//由于是从栈复制到栈,所以这里需要进行一次反转
         callbacklist.ForEach(x => callbackstack.Push(x));
         CallbackList.TryAdd(item.Key, callbackstack);
     }
 }