예제 #1
0
 internal void AddStep(StepProbe probe)
 {
     if (this.steps == null)
     {
         this.steps = new List <StepProbe>();
     }
     this.steps.Add(probe);
 }
예제 #2
0
        private bool Step()
        {
            if (this.state == null || this.Operation == null)
            {
                throw new InvalidOperationException(string.Format("잘못된 OperationProcessor를 계속하려고 했습니다. state[{0}] Target[{1}]", this.state, this.Operation));
            }
            StepProbe probe = default(StepProbe);

            probe           = default(StepProbe);
            probe.StartTime = DateTime.Now;
            bool flag;

            try
            {
                flag = this.state.MoveNext();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                probe.EndTime = DateTime.Now;
                this.performance.AddStep(probe);
                if (this.pcInstance != null)
                {
                    this.pcInstance.Increment("Step count");
                    this.pcInstance.IncrementBy("Step time", probe.SpendMilliseconds);
                }
            }
            if (!flag)
            {
                this.Feedback = null;
                this.Finished = true;
                return(false);
            }
            this.Feedback = null;
            if (this.state.Current != null)
            {
                this.OnSend(this.state.Current);
            }
            return(true);
        }