Condividi tramite


Procedura: configurare opzioni di analisi

Aggiornamento: novembre 2007

Una volta distribuita l'applicazione, è ancora possibile attivare o disattivare l'output di analisi configurando le opzioni di analisi dell'applicazione. Configurare un'opzione significa modificarne il valore da un'origine esterna una volta inizializzata. È possibile modificare i valori degli oggetti opzione utilizzando il file di configurazione. Si configura un'opzione di analisi per attivarla e disattivarla e per impostarne il livello, determinando la quantità e il tipo di messaggi da inviare ai listener.

Le opzioni vengono configurate tramite il file CONFIG. In caso di applicazioni Web si tratta del file Web.config associato al progetto. Nelle applicazioni per Windows il file è denominato (nome applicazione).exe.config. Nelle applicazioni distribuite il file deve essere contenuto nella stessa cartella dell'eseguibile.

Quando l'applicazione esegue il codice che crea un'istanza di un'opzione per la prima volta, viene verificata la presenza nel file di configurazione di informazioni sul livello di analisi relative all'opzione denominata. Il file di configurazione viene esaminato dal sistema di analisi solo una volta per ogni opzione, la prima volta che l'opzione in questione viene creata dall'applicazione.

In un'applicazione distribuita, il codice di analisi viene attivato riconfigurando gli oggetti opzione quando l'applicazione non è in esecuzione. In genere questo implica l'attivazione e la disattivazione degli oggetti opzione o la modifica dei livelli di analisi, quindi il riavvio dell'applicazione.

Quando si crea un'istanza di un'opzione, essa viene anche inizializzata specificando due argomenti: un argomento displayName e un argomento description. Mediante l'argomento displayName del costruttore viene impostata la proprietà Switch.DisplayName dell'istanza della classe Switch. L'argomento displayName rappresenta il nome utilizzato per configurare l'opzione nel file CONFIG, mentre l'argomento description restituisce una breve descrizione dell'opzione e dei messaggi che controlla.

Oltre a specificare il nome di un'opzione da configurare, è necessario specificare un valore per l'opzione. Il valore deve essere un valore Integer. Per BooleanSwitch un valore pari a 0 corrisponde a Off, mentre un valore diverso da zero corrisponde a On. Per la classe TraceSwitch, 0, 1, 2, 3 e 4 corrispondono rispettivamente a Off, Error, Warning, Info e Verbose. Tutti i numeri superiori a 4 vengono considerati come Verbose, tutti i numeri inferiori a zero vengono considerati Off.

Nota:

In .NET Framework versione 2.0 è possibile utilizzare testo per specificare il valore di un'opzione, ad esempio true per la classe BooleanSwitch o il testo che rappresenta un valore di enumerazione, come Error, per la classe TraceSwitch. La riga <add name="myTraceSwitch" value="Error" /> equivale a <add name="myTraceSwitch" value="1" />.

Per consentire all'utente finale di configurare un'opzione di analisi di un'applicazione, è necessario fornire una documentazione dettagliata delle opzioni dell'applicazione. Devono essere descritte in dettaglio le opzioni e ciò che controllano e le modalità di attivazione e disattivazione di tali opzioni. È inoltre necessario fornire all'utente finale un file CONFIG dotato di una Guida adeguata nei commenti.

Per creare e configurare opzioni di analisi

  1. Creare le opzioni nel codice. Per ulteriori informazioni, vedere Creazione e inizializzazione delle opzioni di analisi.

  2. Se nel progetto non è presente un file di configurazione (app.config o Web.config), scegliere Aggiungi nuovo elemento dal menu Progetto.

    • Visual Basic: nella finestra di dialogo Aggiungi nuovo elemento scegliere File di configurazione dell'applicazione.

      Verrà creato e aperto il file di configurazione dell'applicazione. Si tratta di un documento XML il cui elemento di primo livello è <configuration>.

    • Visual C#: nella finestra di dialogo Aggiungi nuovo elemento scegliere File XML. Denominare tale file app.config. Nell'editor XML, dopo la dichiarazione XML, aggiungere il seguente codice XML:

      <configuration>
      </configuration>
      

      Una volta compilato il progetto, il file app.config viene copiato nella cartella di output del progetto e rinominato nomeapplicazione.exe.config.

  3. Dopo il tag <configuration> ma prima del tag </configuration> aggiungere il codice XML per la configurazione delle opzioni. Negli esempi riportati di seguito vengono illustrati un oggetto BooleanSwitch con una proprietà DisplayName di DataMessageSwitch e un oggetto TraceSwitch con una proprietà DisplayName di TraceLevelSwitch.

    <system.diagnostics>
       <switches>
          <add name="DataMessagesSwitch" value="0" />
          <add name="TraceLevelSwitch" value="0" />
       </switches>
    </system.diagnostics>
    

    In questa configurazione entrambe le opzioni sono disattivate.

  4. Se è necessario attivare un BooleanSwitch, come DataMessagesSwitch illustrato nell'esempio precedente, modificare Value in qualsiasi valore integer diverso da 0.

  5. Se è necessario attivare un TraceSwitch, come TraceLevelSwitch illustrato nell'esempio precedente, modificare Value nell'impostazione del livello adatto (da 1 a 4).

  6. Aggiungere commenti al file CONFIG in modo che l'utente possa comprendere chiaramente quali valori modificare per configurare correttamente le opzioni.

    Nell'esempio seguente è mostrato come può apparire il codice finale, comprensivo di commenti:

    <system.diagnostics>
       <switches>
          <!-- This switch controls data messages. In order to receive data 
             trace messages, change value="0" to value="1" -->
          <add name="DataMessagesSwitch" value="0" />
          <!-- This switch controls general messages. In order to 
             receive general trace messages change the value to the 
             appropriate level. "1" gives error messages, "2" gives errors 
             and warnings, "3" gives more detailed error information, and 
             "4" gives verbose trace information -->
          <add name="TraceLevelSwitch" value="0" />
       </switches>
    </system.diagnostics>
    

Vedere anche

Attività

Procedura: aggiungere istruzioni di analisi al codice dell'applicazione

Concetti

Introduzione alla strumentazione e all'analisi

Opzioni di analisi

Riferimenti

Schema delle impostazioni di analisi e debug

Altre risorse

Analisi e strumentazione di applicazioni