Поделиться через


WorkflowApplicationUnhandledExceptionEventArgs.ExceptionSourceInstanceId Свойство

Определение

Возвращает уникальный идентификатор экземпляра действия, ставшего источником необработанного исключения.

public:
 property System::String ^ ExceptionSourceInstanceId { System::String ^ get(); };
public string ExceptionSourceInstanceId { get; }
member this.ExceptionSourceInstanceId : string
Public ReadOnly Property ExceptionSourceInstanceId As String

Значение свойства

Идентификатор экземпляра действия, ставшего источником необработанного исключения.

Примеры

В следующем примере кода вызывается рабочий процесс, в котором создается исключение. Исключение не обрабатывается рабочим процессом, и вызывается обработчик OnUnhandledException. Чтобы получить сведения об исключении, проверяются аргументы WorkflowApplicationUnhandledExceptionEventArgs, и рабочий процесс завершается.

Activity wf = new Sequence
{
    Activities =
     {
         new WriteLine
         {
             Text = "Starting the workflow."
         },
         new Throw
        {
            Exception = new InArgument<Exception>((env) =>
                new ApplicationException("Something unexpected happened."))
        },
        new WriteLine
         {
             Text = "Ending the workflow."
         }
     }
};

WorkflowApplication wfApp = new WorkflowApplication(wf);

wfApp.OnUnhandledException = delegate(WorkflowApplicationUnhandledExceptionEventArgs e)
{
    // Display the unhandled exception.
    Console.WriteLine("OnUnhandledException in Workflow {0}\n{1}",
        e.InstanceId, e.UnhandledException.Message);

    Console.WriteLine("ExceptionSource: {0} - {1}",
        e.ExceptionSource.DisplayName, e.ExceptionSourceInstanceId);

    // Instruct the runtime to terminate the workflow.
    return UnhandledExceptionAction.Terminate;

    // Other choices are UnhandledExceptionAction.Abort and
    // UnhandledExceptionAction.Cancel
};

wfApp.Run();

Комментарии

Если исключение возникает из действия и не обрабатывается, поведение по умолчанию состоит в завершении экземпляра рабочего процесса. Если присутствует обработчик OnUnhandledException, в нем может переопределяться это поведение по умолчанию. Обработчик предоставляет автору узла рабочего процесса возможность выполнить соответствующую обработку, например пользовательское протоколирование, прерывание, отмену или прекращение рабочего процесса.

Применяется к