コード例 #1
0
        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);
        }
コード例 #2
0
        private TxProcessExecutor(string processID, string connectionName)
        {
            this._Process = TxProcessAdapter.DefaultInstance.Load(processID);
            this._Process.NullCheck <ArgumentNullException>("不能找到ID为{0}的交易流程", processID);

            this._ConnectionName = connectionName;
        }