Procedura: configurare il comportamento di eccezione non gestita del flusso di lavoro con WorkflowServiceHost
WorkflowUnhandledExceptionBehavior è un comportamento che consente di specificare l'azione da eseguire se si verifica un'eccezione non gestita all'interno di un flusso di lavoro ospitato in WorkflowServiceHost. In questo argomento viene illustrato come configurare il comportamento in un file di configurazione.
Per configurare WorkflowUnhandledExceptionBehavior
Aggiungere un elemento
<workflowUnhandledException>
in un elemento<behavior>
all'interno di un elemento<serviceBehaviors>
utilizzando l'attributoaction
per specificare l'azione da eseguire quando si verifica un'eccezione non gestita, come illustrato nell'esempio seguente.<behaviors> <serviceBehaviors> <behavior name=""> <workflowUnhandledException action="abandonAndSuspend"/> </behavior> </serviceBehaviors> </behaviors>
Nota
L'esempio di configurazione precedente usa la configurazione semplificata. Per altre informazioni, vedere Configurazione semplificata.
È possibile configurare questo comportamento nel codice, come indicato nell'esempio seguente.
host.Description.Behaviors.Add(new WorkflowUnhandledExceptionBehavior { Action = WorkflowUnhandledExceptionAction.AbandonAndSuspend });
È possibile impostare l'attributo
action
dell'elemento<workflowUnhandledException>
su uno dei valori indicati di seguito:abandon Interrompe l'istanza in memoria senza modificare lo stato dell'istanza persistente (ovvero, senza eseguire il rollback all'ultimo punto persistente).
abandonAndSuspend Interrompe l'istanza in memoria e aggiorna l'istanza persistente da sospendere.
cancel Chiama i gestori annullamento per l'istanza, quindi completa l'istanza in memoria, che può rimuoverlo anche dall'archivio di istanze
terminate Completa l'istanza in memoria e la rimuove dall'archivio di istanze.
Per altre informazioni su WorkflowUnhandledExceptionBehavior, vedere Estensibilità host del servizio flusso di lavoro.