public TxProcessExecutor ExecuteRollback(Action <TxProcess> action) { using (TransactionScope scope = TransactionScopeFactory.Create()) { if (action != null) { action(this._Process); } TxProcess process = this._Process; string connectionName = this.GetConnectionName(); process.RollbackToPreviousActivity(); TxProcessAdapter.GetInstance(connectionName).Update(process); //发送流转流程的任务 InvokeServiceTaskAdapter.Instance.Push(process.ToSyncAndRollbackActivityTask()); //发送流转操作 scope.Complete(); } return(this); }
private TxProcessExecutor(string processID, string connectionName) { this._Process = TxProcessAdapter.DefaultInstance.Load(processID); this._Process.NullCheck <ArgumentNullException>("不能找到ID为{0}的交易流程", processID); this._ConnectionName = connectionName; }