public ActionExecuteResult(ActionResultEventArgs resultEventArgs, ActionFaultEventArgs faultEventArgs) { this._resultEventArgs = resultEventArgs; this._faultEventArgs = faultEventArgs; }
protected override void ClearManagedResources() { _activateTime = null; _deactivateTime = null; resultEventArgs = null; faultEventArgs = null; }
/// <summary> /// 复位运行时数据。 /// </summary> private void ResetRuntimeData() { try { _activateTime = null; _deactivateTime = null; if (timeoutObserver != null) { timeoutObserver.Stop(); timeoutObserver = null; } resultEventArgs = null; faultEventArgs = null; } catch { //不处理。 } }
/// <summary> /// 完成。因为存在状态判断,未防止子类覆盖后出现状态漏判,故不允许子类覆盖改方法。 /// </summary> /// <param name="result"></param> public void Complete(object result) { if (_state == ActionState.Processing || _state == ActionState.Hangup) { _state = ActionState.Completed; _deactivateTime = DateTime.Now; if (timeoutObserver != null) { timeoutObserver.Stop(); timeoutObserver = null; } resultEventArgs = new ActionResultEventArgs(this, result); if (light != null) { light.TurnOn(); } if (OnComplete != null) { OnComplete(this, resultEventArgs); } InnerComplete(result); } }