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?
Questo potrebbe essere a causa dell'elemento '' vuoto in ApplicationInsights.config. Rimosso completamente l'elemento e sembra che funzioni ora. –
Questo post del blog mi ha aiutato a chiarire alcuni dettagli: http://apmtips.com/blog/2015/06/09/do-not-use-context-initializers/ – tjrobinson