2015-07-17 15 views
5

Per supportare applicazione Insights in più ambienti, stiamo impostando il Strumentazione chiave a livello di codice, come avvertita in this post.impostazione di programmazione chiave strumentazione di applicazione Insights getta errore

Abbiamo lasciato <InstrumentationKey> in ApplicationInsights.config vuoto, e invece aggiunta un'impostazione di applicazione in web.config:

<add key="ApplicationInsightsInstrumentationKey" value="1234-5678-9xxx" /> 

In Application_Start facciamo quanto segue per impostare la chiave strumentazione:

var instrumentationKey = ConfigurationManager.AppSettings["ApplicationInsightsInstrumentationKey"]; 

if (string.IsNullOrWhiteSpace(instrumentationKey)) 
{ 
    throw new ConfigurationErrorsException("Missing app setting 'ApplicationInsightsInstrumentationKey' used for Application Insights"); 
} 

TelemetryConfiguration.Active.InstrumentationKey = instrumentationKey; 

new TelemetryClient().TrackEvent("Application started"); 

Tuttavia, ciò produce un'eccezione che dice "TelemetryChannel deve essere inizializzato d prima che possa inviare telemetria ".

Googling questo messaggio di eccezione non produce nulla, ma immagino ci sia qualcosa di aggiuntivo necessario prima che gli eventi possano essere rintracciati?

+0

Questo potrebbe essere a causa dell'elemento '' vuoto in ApplicationInsights.config. Rimosso completamente l'elemento e sembra che funzioni ora. –

+0

Questo post del blog mi ha aiutato a chiarire alcuni dettagli: http://apmtips.com/blog/2015/06/09/do-not-use-context-initializers/ – tjrobinson

risposta

7

La rimozione dell'elemento <InstrumentationKey /> da ApplicationInsights.config sembra fare il trucco.

Ho fatto esattamente la stessa cosa, impostando l'iKey in Application_Start() per un'applicazione Web e prima di nuovo() su un TelemetryClient nelle applicazioni della console. Io faccio non ho alcun elemento nel mio ApplicationInsights.config, nemmeno uno in bianco. Tengo un commento in quel file di configurazione che dice che la chiave viene impostata a livello di programmazione.

+0

Sì, sembra che l'elemento debba essere rimosso completamente, che è un po 'strano? –

+0

Anche questa è stata la mia esperienza. –

Problemi correlati