Utilizzo del rilevamento per la risoluzione dei problemi relativi alle applicazioniUsing Tracking to Troubleshoot Applications

Windows Workflow Foundation (WF) consente di tenere traccia delle informazioni correlate al flusso di lavoro per fornire dettagli nell'esecuzione di un servizio o applicazione Windows Workflow Foundation.Windows Workflow Foundation (WF) enables you to track workflow-related information to give details into the execution of a Windows Workflow Foundation application or service. Gli host di Windows Workflow Foundation sono in grado di acquisire gli eventi del flusso di lavoro durante l'esecuzione di un'istanza del flusso di lavoro.Windows Workflow Foundation hosts are able to capture workflow events during the execution of a workflow instance. Se il flusso di lavoro genera errori o eccezioni, è possibile utilizzare i dettagli di rilevamento per la risoluzione dei problemi dell'elaborazione di Windows Workflow Foundation.If your workflow generates faults or exceptions, you can use the Windows Workflow Foundation tracking details to troubleshooting its processing.

Risoluzione dei problemi relativi a un'attività WF tramite il rilevamento di WFTroubleshooting a WF using WF Tracking

Per rilevare gli errori all'interno dell'elaborazione di un'attività di Windows Workflow Foundation, è possibile abilitare il rilevamento con un profilo di rilevamento che esegue una query per un ActivityStateRecord con lo stato Faulted.To detect faults within the processing of a Windows Workflow Foundation activity, you can enable tracking with a tracking profile that queries for an ActivityStateRecord with the state of Faulted. La query corrispondente viene specificata nel codice seguente:The corresponding query is specified in the following code.

<activityStateQueries>  
              <activityStateQuery activityName="*">  
                <states>  
                  <state name="Faulted" />  
                </states>  
              </activityStateQuery>  
 </activityStateQueries>  

Se un errore viene propagato e gestito all'interno di un gestore fault (ad esempio un'attività TryCatch), può essere rilevato tramite un oggetto FaultPropagationRecord.If a fault is propagated and handled within a fault handler (such as a TryCatch activity) this can be detected using a FaultPropagationRecord. FaultPropagationRecord indica l'attività di origine dell'errore e il nome del gestore fault.The FaultPropagationRecord indicates the source activity of the fault and the name of the fault handler. FaultPropagationRecord contiene i dettagli dell'errore sotto forma di stack dell'eccezione per l'errore. La query da sottoscrivere per un oggetto FaultPropagationRecord è illustrata nell'esempio seguente:The FaultPropagationRecord contains fault details in form of the exception stack for the fault.The query to subscribe for a FaultPropagationRecord is shown in the following example.

<faultPropagationQueries>  
              <faultPropagationQuery faultSourceActivityName ="*" faultHandlerActivityName="*"/>  
 </faultPropagationQueries>  

Se un errore non viene gestito all'interno del flusso di lavoro, comporta un'eccezione non gestita nell'istanza del flusso di lavoro che viene quindi interrotta.If a fault is not handled within the workflow it results in an unhandled exception at the workflow instance and the workflow instance is aborted. Per capire i dettagli dell'eccezione non gestita, il profilo di rilevamento deve eseguire una query sul record di istanza del flusso di lavoro con state name="UnhandledException" come specificato nell'esempio seguente.To understand the details of the unhandled exception, the tracking profile must query the workflow instance record with state name="UnhandledException" as specified in the following example.

<workflowInstanceQueries>  
              <workflowInstanceQuery>  
                <states>  
                  <state name="UnhandledException" />  
                </states>  
              </workflowInstanceQuery>  
</workflowInstanceQueries>  

Quando un'istanza del flusso di lavoro rileva un'eccezione non gestita, una WorkflowInstanceUnhandledExceptionRecord oggetto viene emessa se è stato abilitato il rilevamento di Windows Workflow Foundation.When a workflow instance encounters an unhandled exception, a WorkflowInstanceUnhandledExceptionRecord object is emitted if Windows Workflow Foundation tracking has been enabled.

Questo record di rilevamento contiene i dettagli dell'errore nel formato di stack dell'eccezione.This tracking record contains the fault details in the form of the exception stack. Include dettagli dell'origine dell'errore (ad esempio, l'attività) che contiene errori e ha generato l'eccezione non gestita. Per sottoscrivere gli eventi di errore da Windows Workflow Foundation, abilitare il rilevamento aggiungendo un partecipante del rilevamento.It has details of the source of the fault (for example, the activity) that faulted and resulted in the unhandled exception.To subscribe to fault events from a Windows Workflow Foundation, enable tracking by adding a tracking participant. configurandolo con un profilo di rilevamento che esegue query per ActivityStateQuery (state="Faulted"), FaultPropagationRecorde WorkflowInstanceQuery (state="UnhandledException").Configure this participant with a tracking profile that queries for ActivityStateQuery (state="Faulted"), FaultPropagationRecord, and WorkflowInstanceQuery (state="UnhandledException").

Se il rilevamento viene abilitato usando il partecipante del rilevamento ETW, gli eventi dell'errore vengono creati in una sessione ETW.If tracking is enabled using the ETW tracking participant, the fault events are emitted to an ETW session. Questi eventi possono essere visualizzati usando il Visualizzatore eventiThe events can be viewed using the Event Viewer event viewer. Si trova sotto il nodo Visualizzatore eventi -> applicazioni e servizi -> Microsoft -> Windows -> Server applicazioni-applicazioni nel canale analitico.This can be found under the node Event Viewer->Applications and Services Logs->Microsoft->Windows->Application Server-Applications in the analytic channel.

Vedere ancheSee Also

Monitoraggio dell'infrastruttura di App di Windows ServerWindows Server App Fabric Monitoring
Monitoraggio delle applicazioni con App FabricMonitoring Applications with App Fabric