示例#1
0
            public void Run(bool lastChance)
            {
                status = Status.Running;
                Status newStatus = Status.Completed;

                switch (op)
                {
                case TaskOps.TransferValue:
                    client.TransferValue();
                    break;

                case TaskOps.UpdateValue:
                    client.UpdateValue();
                    break;

                case TaskOps.RaiseTargetUpdatedEvent:
                    client.OnTargetUpdated();
                    break;

                case TaskOps.AttachToContext:
                    bool succeeded = client.AttachToContext(lastChance);
                    if (!succeeded && !lastChance)
                    {
                        newStatus = Status.Retry;
                    }
                    break;

                case TaskOps.VerifySourceReference:
                    client.VerifySourceReference(lastChance);
                    break;
                }
                status = newStatus;
            }