WorkflowApplicationUnhandledExceptionEventArgs.ExceptionSourceInstanceId Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft den eindeutigen Bezeichner der Aktivitätsinstanz ab, die die Quelle der unbehandelten Ausnahme ist.
public:
property System::String ^ ExceptionSourceInstanceId { System::String ^ get(); };
public string ExceptionSourceInstanceId { get; }
member this.ExceptionSourceInstanceId : string
Public ReadOnly Property ExceptionSourceInstanceId As String
Eigenschaftswert
Ein Bezeichner der Aktivitätsinstanz, die die Quelle der unbehandelten Ausnahme ist.
Beispiele
Im folgenden Beispiel wird ein Workflow aufgerufen, der eine Ausnahme auslöst. Die Ausnahme wird vom Workflow nicht behandelt, und der OnUnhandledException-Handler wird aufgerufen. Die WorkflowApplicationUnhandledExceptionEventArgs werden überprüft, um Informationen zur Ausnahme bereitzustellen, und der Workflow wird beendet.
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();
Hinweise
Wenn eine Ausnahme von einer Aktivität ausgelöst wird und nicht behandelt wird, besteht das Standardverhalten darin, die Workflowinstanz zu beenden. Wenn ein OnUnhandledException Handler vorhanden ist, kann er dieses Standardverhalten außer Kraft setzen. Dieser Handler bietet dem Workflowhostautor die Möglichkeit, die entsprechende Behandlung bereitzustellen, z. B. benutzerdefinierte Protokollierung, Abbrechen des Workflows, Abbrechen des Workflows oder Beenden des Workflows.