WorkflowApplicationUnhandledExceptionEventArgs.ExceptionSourceInstanceId Tulajdonság
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Lekéri annak a tevékenységpéldánynak az egyedi azonosítóját, amely a kezeletlen kivétel forrása.
public:
property System::String ^ ExceptionSourceInstanceId { System::String ^ get(); };
public string ExceptionSourceInstanceId { get; }
member this.ExceptionSourceInstanceId : string
Public ReadOnly Property ExceptionSourceInstanceId As String
Tulajdonság értéke
Annak a tevékenységpéldánynak az azonosítója, amely a kezeletlen kivétel forrása.
Példák
Az alábbi példa egy kivételt okozó munkafolyamatot hív meg. A kivételt a munkafolyamat nem kezeli, és meghívja a OnUnhandledException kezelőt. A WorkflowApplicationUnhandledExceptionEventArgs ellenőrzik a kivétellel kapcsolatos információk megadását, és a munkafolyamat leáll.
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();
Megjegyzések
Ha egy tevékenység kivételt jelez, és nincs kezelve, az alapértelmezett viselkedés a munkafolyamat-példány leállása. Ha egy OnUnhandledException kezelő jelen van, felülírhatja ezt az alapértelmezett viselkedést. Ez a kezelő lehetővé teszi a munkafolyamat-gazdagép szerzőjének, hogy biztosítsa a megfelelő kezelést, például az egyéni naplózást, a munkafolyamat megszakítását, a munkafolyamat megszakítását vagy a munkafolyamat megszüntetését.