/// <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;
 }
Пример #2
0
 private void workflow_OnWfError(WorkflowApplicationUnhandledExceptionEventArgs e)
 {
     var output = "Error Happened, message: " + e.UnhandledException.Message;
 }
Пример #3
0
 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;
 }
Пример #5
0
        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;
 }
Пример #7
0
 private UnhandledExceptionAction wfapp_OnUnhandledException(WorkflowApplicationUnhandledExceptionEventArgs e)
 {
     return UnhandledExceptionAction.Abort;
 }
Пример #8
0
 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;
 }
Пример #11
0
        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;
 }
Пример #13
0
        private UnhandledExceptionAction OnUnhandledException(WorkflowApplicationUnhandledExceptionEventArgs e)
        {
            OutputWriter.WriteLine(e.UnhandledException.StackTrace);
            OnRunningStateChanged(new WorkflowExecutingStateEventArgs(false));

            return UnhandledExceptionAction.Terminate;
        }
Пример #14
0
 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;
 }
Пример #15
0
		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;
			}
		}
Пример #16
0
        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;
        }
Пример #17
0
        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;
        }
Пример #18
0
 private UnhandledExceptionAction OnWorkflowUnhandledException(WorkflowApplicationUnhandledExceptionEventArgs e)
 {
     OutputWriter.WriteLine(e.UnhandledException.StackTrace);
     return UnhandledExceptionAction.Terminate;
 }
Пример #19
0
        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;
        }
Пример #20
0
 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;
        }
Пример #22
0
 static UnhandledExceptionAction onUnhandledException(WorkflowApplicationUnhandledExceptionEventArgs e)
 {
     writeRunInfo(e.InstanceId, "onUnhandledException", e.ExceptionSource.DisplayName + ":" + e.UnhandledException.Message);
     return UnhandledExceptionAction.Abort;
 }
Пример #23
0
        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;
        }