/// <summary> /// Initializes a new instance of the <see cref="NinjectWorkflowApplicationUnhandledExceptionEventArgs"/> class. /// </summary> /// <param name="workflowApplicationUnhandledExceptionEventArgs">The <see cref="System.Activities.WorkflowApplicationUnhandledExceptionEventArgs"/> instance containing the event data.</param> public NinjectWorkflowApplicationUnhandledExceptionEventArgs(WorkflowApplicationUnhandledExceptionEventArgs workflowApplicationUnhandledExceptionEventArgs) : base(workflowApplicationUnhandledExceptionEventArgs) { this.UnhandledException = workflowApplicationUnhandledExceptionEventArgs.UnhandledException; this.ExceptionSource = workflowApplicationUnhandledExceptionEventArgs.ExceptionSource; this.ExceptionSourceInstanceId = workflowApplicationUnhandledExceptionEventArgs.ExceptionSourceInstanceId; }
private void workflow_OnWfError(WorkflowApplicationUnhandledExceptionEventArgs e) { var output = "Error Happened, message: " + e.UnhandledException.Message; }
private static UnhandledExceptionAction OnUnhandledException(WorkflowApplicationUnhandledExceptionEventArgs e) { Console.WriteLine("Client had an unhandled exception: {0}", e.UnhandledException); return UnhandledExceptionAction.Cancel; }
private UnhandledExceptionAction _workflowInstance_UnhandledException(WorkflowApplicationUnhandledExceptionEventArgs e) { _synchronizationContext.Post( state => { if (e.UnhandledException != null) { HandleError(e.UnhandledException.Message, true); } }, null); return UnhandledExceptionAction.Terminate; }
private static string DumpException(WorkflowApplicationUnhandledExceptionEventArgs args) { var e = args.UnhandledException; var sb = new StringBuilder(); sb.AppendLine("An unhandled exception occurred during the workflow execution. Please review the following information.<br />"); sb.AppendLine(); sb.Append("Workflow instance: ").Append(args.InstanceId.ToString()).AppendLine("<br />"); sb.AppendFormat("Source activity: {0} ({1}, {2})", args.ExceptionSource.DisplayName, args.ExceptionSource.GetType().FullName, args.ExceptionSource.Id); sb.AppendLine("<br />"); sb.AppendLine("<br />"); sb.Append(DumpException(e)); return sb.ToString(); }
private UnhandledExceptionAction OnUnhandledException(WorkflowApplicationUnhandledExceptionEventArgs args) { ExecutableServiceRepository.Instance.Remove(this); _waitHandle.Set(); ExecutionStatusCallbackDispatcher.Instance.Post(_result.ExecutionCallbackID, ExecutionStatusCallbackMessageType.ErrorCallback); return UnhandledExceptionAction.Abort; }
private UnhandledExceptionAction wfapp_OnUnhandledException(WorkflowApplicationUnhandledExceptionEventArgs e) { return UnhandledExceptionAction.Abort; }
void workflow_OnWfError(WorkflowApplicationUnhandledExceptionEventArgs e) { var output = "Error Happened, message: " + e.UnhandledException.Message; lbFinalResult.Text = output; }
UnhandledExceptionAction IWorkflowApplicationHandler.OnUnhandledException(WorkflowApplicationUnhandledExceptionEventArgs e) { lock (managerStateLock) { if (this.state == ManagerState.Opened) { WriteException(e.UnhandledException, string.Format("Exception encountered in activity {0}", e.ExceptionSource.DisplayName)); } } return UnhandledExceptionAction.Terminate; }
private UnhandledExceptionAction WorkflowUnhandledException(WorkflowApplicationUnhandledExceptionEventArgs e) { Console.WriteLine(ExceptionHelper.FormatStackTrace(e.UnhandledException)); return UnhandledExceptionAction.Terminate; }
UnhandledExceptionAction OnUnhandledException(WorkflowApplicationUnhandledExceptionEventArgs args) { // save unhandled exception to be thrown if (args.UnhandledException != null) UnhandledExceptionInfo = ExceptionDispatchInfo.Capture(args.UnhandledException); // abort workflow return UnhandledExceptionAction.Abort; }
private UnhandledExceptionAction OnUnhandledException(WorkflowApplicationUnhandledExceptionEventArgs uh) { return UnhandledExceptionAction.Terminate; }
private UnhandledExceptionAction OnUnhandledException(WorkflowApplicationUnhandledExceptionEventArgs e) { OutputWriter.WriteLine(e.UnhandledException.StackTrace); OnRunningStateChanged(new WorkflowExecutingStateEventArgs(false)); return UnhandledExceptionAction.Terminate; }
private static WorkflowHandlerBase GetStateContent(WorkflowApplicationUnhandledExceptionEventArgs args) { WorkflowHandlerBase stateContent = null; var exts = args.GetInstanceExtensions<ContentWorkflowExtension>(); if (exts != null) { var ext = exts.FirstOrDefault(); if (ext != null) stateContent = Node.Load<WorkflowHandlerBase>(ext.WorkflowInstancePath); } return stateContent; }
private UnhandledExceptionAction HandleWorkflowApplicationUnhandledException(WorkflowApplicationUnhandledExceptionEventArgs e) { if (!base.Disposed) { PSWorkflowApplicationInstance._structuredTracer.Correlate(); this.Tracer.WriteMessage("Workflow Application is completed in Unhandled exception state."); if (this.PSWorkflowContext.PSWorkflowCommonParameters.ContainsKey("PSWorkflowErrorAction") && this.PSWorkflowContext.PSWorkflowCommonParameters["PSWorkflowErrorAction"] != null) { WorkflowUnhandledErrorAction item = (WorkflowUnhandledErrorAction)this.PSWorkflowContext.PSWorkflowCommonParameters["PSWorkflowErrorAction"]; WorkflowUnhandledErrorAction workflowUnhandledErrorAction = item; switch (workflowUnhandledErrorAction) { case WorkflowUnhandledErrorAction.Suspend: { return UnhandledExceptionAction.Abort; } case WorkflowUnhandledErrorAction.Stop: { return UnhandledExceptionAction.Cancel; } case WorkflowUnhandledErrorAction.Terminate: { return UnhandledExceptionAction.Terminate; } } } return UnhandledExceptionAction.Terminate; } else { return UnhandledExceptionAction.Terminate; } }
private UnhandledExceptionAction HandleWorkflowApplicationUnhandledException(WorkflowApplicationUnhandledExceptionEventArgs e) { if (Disposed) return UnhandledExceptionAction.Terminate; _structuredTracer.Correlate(); Tracer.WriteMessage("Workflow Application is completed in Unhandled exception state."); if (PSWorkflowContext.PSWorkflowCommonParameters.ContainsKey(Constants.PSWorkflowErrorAction) && PSWorkflowContext.PSWorkflowCommonParameters[Constants.PSWorkflowErrorAction] != null) { WorkflowUnhandledErrorAction action = (WorkflowUnhandledErrorAction)PSWorkflowContext.PSWorkflowCommonParameters[Constants.PSWorkflowErrorAction]; switch (action) { case WorkflowUnhandledErrorAction.Stop: return UnhandledExceptionAction.Cancel; case WorkflowUnhandledErrorAction.Suspend: return UnhandledExceptionAction.Abort; case WorkflowUnhandledErrorAction.Terminate: return UnhandledExceptionAction.Terminate; } } return UnhandledExceptionAction.Terminate; }
private UnhandledExceptionAction wfapp_OnUnhandledException(WorkflowApplicationUnhandledExceptionEventArgs e) { lock (syncRoot) { var workflow = workflows[e.InstanceId]; workflow.LastException = e.UnhandledException; } // Force the workflow to execute the cancel logic return UnhandledExceptionAction.Cancel; }
private UnhandledExceptionAction OnWorkflowUnhandledException(WorkflowApplicationUnhandledExceptionEventArgs e) { OutputWriter.WriteLine(e.UnhandledException.StackTrace); return UnhandledExceptionAction.Terminate; }
private UnhandledExceptionAction wfapp_OnUnhandledException(WorkflowApplicationUnhandledExceptionEventArgs e) { // This is important to gracefully unload faulted or canceled/timed-out. // It causes the runtime to cancel the workflow instead of abort it instantenously. // This will cause the cancel logic and finally activities of a try-catch-finally activity to // execute prior to the unloading of the workflow. // First we have to store the exception because it won't be available after the // workflow gracefully cancels lock (syncRoot) { var workflow = workflows[e.InstanceId]; workflow.Job.Status = JobStatus.Failed; workflow.LastException = e.UnhandledException; } // Force the workflow to execute the cancel logic return UnhandledExceptionAction.Cancel; }
static UnhandledExceptionAction OnUnhandledException(WorkflowApplicationUnhandledExceptionEventArgs e) { Console.WriteLine("Unhandled exception: " + e.UnhandledException.Message); syncEvent.Set(); return UnhandledExceptionAction.Terminate; }
/// <summary> /// The Internal Unhandled Exception Handler /// </summary> /// <param name="args"> /// The arg. /// </param> /// <returns> /// The UnhandledExceptionAction. /// </returns> private UnhandledExceptionAction InternalOnUnhandledException( WorkflowApplicationUnhandledExceptionEventArgs args) { var result = UnhandledExceptionAction.Abort; if (this.OnUnhandledException != null) { var func = this.innerOnUnhandledException; if (func != null) { result = func(args); } result = this.OnUnhandledException(args, result); } return result; }
static UnhandledExceptionAction onUnhandledException(WorkflowApplicationUnhandledExceptionEventArgs e) { writeRunInfo(e.InstanceId, "onUnhandledException", e.ExceptionSource.DisplayName + ":" + e.UnhandledException.Message); return UnhandledExceptionAction.Abort; }
private static UnhandledExceptionAction HandleError(WorkflowApplicationUnhandledExceptionEventArgs args) { try { Debug.WriteLine("##WF> WFException: " + args.UnhandledException.Message); Logger.WriteException(args.UnhandledException); WorkflowHandlerBase stateContent = GetStateContent(args); if (stateContent == null) Logger.WriteWarning("The workflow InstanceManager cannot write back the aborting/terminating reason into the workflow state content."); else WriteBackAbortMessage(stateContent, DumpException(args)); } catch (Exception e) { Debug.WriteLine("##WF> EXCEPTION in the InstanceManager.HandleError: " + args.UnhandledException.Message); Logger.WriteException(e); } return UnhandledExceptionAction.Abort; }