Share via


Esempio di rilevamento semplice

Download sample

Nell'esempio riportato di seguito viene illustrato l'utilizzo del servizio di rilevamento SQL fornito da Windows Workflow Foundation per rilevare l'esecuzione di un flusso di lavoro.

Il runtime del flusso di lavoro genera determinati eventi durante l'esecuzione di un flusso di lavoro. Il servizio di rilevamento può intercettare questi eventi e archiviare le informazioni relative in un database SQL Server che può essere sottoposto a query.

Il runtime del flusso di lavoro genera i seguenti tipi di eventi:

  • Eventi a livello di istanza. Questi eventi vengono generati quando un'istanza del flusso di lavoro entra in un determinato stato. Ad esempio, viene generato un evento quando viene inizializzata l'istanza del flusso di lavoro o quando l'istanza del flusso di lavoro è in esecuzione.

  • Eventi a livello di attività. Un flusso di lavoro è costituito da attività e ogni attività segue un ciclo di vita. Durante il ciclo di vita, l'attività passa attraverso più stati. Viene generato un evento quando un'attività entra in un particolare stato.

  • Eventi registrati dall'utente. Un autore del flusso di lavoro può creare eventi di rilevamento personalizzati e può aggiungerli al code-beside del flusso di lavoro.

I dati derivanti dai dati del flusso di lavoro possono essere generati e forniti al servizio di rilevamento insieme agli eventi.

Durante il rilevamento di un flusso di lavoro, si potrebbe non essere interessati a tutti gli eventi per tutti gli stati e attività. È possibile creare un profilo di rilevamento per specificare gli eventi e i dati ai quali si è interessati. Il servizio di rilevamento SQL ha un profilo di rilevamento predefinito. In questo esempio viene illustrato l'utilizzo del servizio di rilevamento SQL con il profilo di rilevamento predefinito.

Utilizzare il codice riportato di seguito per registrare un servizio di rilevamento con il runtime del flusso di lavoro:

WorkflowRuntime wr = new WorkflowRuntime();
wr.AddService(new SqlTrackingService(connectionstring));
wr.StartRuntime();

La seconda riga registra il servizio di rilevamento SQL con il runtime del flusso di lavoro. La stringa di connessione è quella del database di rilevamento.

L'output dell'esempio apparirà come riportato di seguito:

Output dell'esempio di rilevamento semplice

Creazione del database di rilevamento

I servizi SQL installati da Windows Workflow Foundation utilizzano Microsoft SQL Server per archiviare le informazioni. Per queste attività è possibile utilizzare Microsoft SQL Server 2005 Express, SQL Server 2000 o versioni più recenti o Microsoft SQL Server 2000 Desktop Engine (MSDE).

Il programma di installazione di Windows Workflow Foundation non installa i database richiesti da questi servizi; tuttavia, il programma di installazione installa gli script SQL per la creazione e la configurazione dei database per tali servizi.

Per creare il database di rilevamento SQL

  • Se si utilizza Microsoft SQL Server 2005 Express, SQL Server 2000 o versioni più recenti, o SQL Server 2000 Desktop Engine (MSDE), creare un nuovo database denominato Tracking utilizzando l'istruzione della query SQL:

    CREATE DATABASE Tracking
    

Nota

Quando si utilizzano gli oggetti SqlTrackingService e SqlWorkflowPersistenceService in un'applicazione del flusso di lavoro, è consigliabile utilizzare un unico database per la persistenza e il rilevamento.

  1. Nell'area di lavoro SQL Query Analyzer, selezionare il database creato al passaggio 1 nell'elenco di database disponibili.

  2. Nel menu File, fare clic su Apri e aprire lo script SQL %WINDIR%\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\<lingua>\Tracking_Schema.sql.

  3. Eseguire la query facendo clic su Esegui o premendo F5 per creare le tabelle del servizio di rilevamento SQL.

  4. Nel menu File, fare clic su Apri e aprire lo script SQL %WINDIR%\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\<lingua>\Tracking_Logic.sql.

  5. Eseguire la query facendo clic su Esegui o premendo F5 per creare le stored procedure del servizio di rilevamento SQL.

Per generare l'esempio

  1. Scaricare l'esempio facendo clic su Scarica esempio.

    In tal modo viene estratto il progetto di esempio sul disco rigido locale.

  2. Fare clic sul pulsante Start, scegliere Programmi, Microsoft Windows SDK e fare clic su CMD Shell.

  3. Accedere alla directory di origine dell'esempio.

  4. Al prompt dei comandi, immettere MSBUILD <nome file soluzione>.

Per eseguire l'esempio

  • Nella finestra del prompt dei comandi di SDK, eseguire il file exe nella cartella SimpleTrackingSample\bin\debug (o nella cartella SimpleTrackingSample\bin per la versione VB dell'esempio), collocata sotto la cartella principale dell'esempio.

Vedere anche

Riferimenti

SqlTrackingService
SqlTrackingQuery
SqlTrackingWorkflowInstance
ActivityEvents
ActivityTrackingRecord
WorkflowEvents
WorkflowTrackingRecord

Altre risorse

Esempi di rilevamento
Esempio di esecuzione di query con l'utilizzo di SQLTrackingService
Esempio di rilevamento tramite track point utente
Esempio di rilevamento di EventArgs
Esempio di ConsoleTrackingService
Esempio di esecuzione di query con l'utilizzo di SQLTrackingService
Esempio di RuleActionTrackingEvent
Esempio di servizio di rilevamento file e query
Esempio di utilizzo del modello a oggetti del profilo di rilevamento
Esempio di manutenzione di dati SQL

Footer image

Copyright © 2007 Microsoft Corporation. Tutti i diritti riservati.