Configurazione di Application Insights SDK con ApplicationInsights.config o .xmlConfiguring the Application Insights SDK with ApplicationInsights.config or .xml

Application Insights .NET SDK è costituito da alcuni pacchetti NuGet.The Application Insights .NET SDK consists of a number of NuGet packages. Il pacchetto di base fornisce l'API per l'invio di dati di telemetria ad Application Insights.The core package provides the API for sending telemetry to the Application Insights. Altri pacchetti forniscono moduli e inizializzatori di telemetria per il rilevamento automatico dei dati di telemetria dall'applicazione e dal rispettivo contesto.Additional packages provide telemetry modules and initializers for automatically tracking telemetry from your application and its context. Modificando il file di configurazione, è possibile abilitare o disabilitare i moduli e gli inizializzatori di telemetria e impostare parametri per alcuni di essi.By adjusting the configuration file, you can enable or disable telemetry modules and initializers, and set parameters for some of them.

Il file di configurazione è denominato ApplicationInsights.config o ApplicationInsights.xml, a seconda del tipo di applicazione.The configuration file is named ApplicationInsights.config or ApplicationInsights.xml, depending on the type of your application. Viene aggiunto automaticamente al progetto quando si installano alcune versioni dell'SDK.It is automatically added to your project when you install most versions of the SDK. Viene anche aggiunto a un'app Web da Status Monitor in un server IIS o quando si seleziona l'estensione Application Insights per un sito Web o una macchina virtuale di Azure.It is also added to a web app by Status Monitor on an IIS server, or when you select the Application Insights extension for an Azure website or VM.

Non esiste un file equivalente per controllare l'SDK in una pagina Web.There isn't an equivalent file to control the SDK in a web page.

Questo documento illustra le sezioni visibili nel file di configurazione, il modo in cui esse controllano i componenti SDK, e quali pacchetti NuGet caricano questi componenti.This document describes the sections you see in the configuration file, how they control the components of the SDK, and which NuGet packages load those components.

Nota

I file di istruzioni applicationInsights.config e .xml non si applicano a .NET Core SDK.ApplicationInsights.config and .xml instructions do not apply to the .NET Core SDK. Per le modifiche a un'applicazione .NET Core, viene in genere usato il file appsettings.json.For changes to a .NET Core application we typically use the appsettings.json file. Un esempio è disponibile nella documentazione relativa a Snapshot Debugger.An example of this can be found in the Snapshot Debugger documentation.

Moduli di telemetria (ASP.NET)Telemetry Modules (ASP.NET)

Ogni modulo di telemetria raccoglie un tipo specifico di dati e utilizza l’API principale per inviare i dati.Each telemetry module collects a specific type of data and uses the core API to send the data. I moduli sono installati da diversi pacchetti NuGet che aggiungono anche le linee necessarie al file .config.The modules are installed by different NuGet packages, which also add the required lines to the .config file.

Nel file di configurazione è presente un nodo per ogni modulo.There's a node in the configuration file for each module. Per disabilitare un modulo, eliminare il nodo o impostarlo come commento.To disable a module, delete the node or comment it out.

Rilevamento delle dipendenzeDependency Tracking

Rilevamento delle dipendenze raccoglie la telemetria delle chiamate effettuate dall’applicazione ai database e ai database e servizi esterni.Dependency tracking collects telemetry about calls your app makes to databases and external services and databases. Per far funzionare questo modulo in un server IIS, è necessario installare Status Monitor.To allow this module to work in an IIS server, you need to install Status Monitor. Per usarlo nelle app Web o nelle macchine virtuali di Azure, selezionare l'estensione Application Insights.To use it in Azure web apps or VMs, select the Application Insights extension.

È anche possibile scrivere codice personalizzato per il rilevamento delle dipendenze mediante l' API TrackDependency.You can also write your own dependency tracking code using the TrackDependency API.

Agente di raccolta dati delle prestazioniPerformance collector

Raccoglie contatori delle prestazioni di sistema come CPU, memoria e rete caricate dalle istallazioni IIS.Collects system performance counters such as CPU, memory and network load from IIS installations. E’ possibile specificare quali contatori raccogliere, inclusi i contatori delle prestazioni installati.You can specify which counters to collect, including performance counters you have set up yourself.

Telemetria delle diagnostiche Application InsightsApplication Insights Diagnostics Telemetry

Il modulo DiagnosticsTelemetryModule segnala errori nel codice di strumentazione stesso di Application Insights,The DiagnosticsTelemetryModule reports errors in the Application Insights instrumentation code itself. ad esempio, se il codice non è in grado di accedere ai contatori delle prestazioni o se un ITelemetryInitializer genera un'eccezione.For example, if the code cannot access performance counters or if an ITelemetryInitializer throws an exception. La telemetria di traccia rilevata da questo modulo viene visualizzata nella Ricerca diagnostica.Trace telemetry tracked by this module appears in the Diagnostic Search. Invia i dati di diagnostica a dc.services.vsallin.net.Sends diagnostic data to dc.services.vsallin.net.

  • Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.DiagnosticsTelemetryModule
  • Microsoft.ApplicationInsights .Microsoft.ApplicationInsights NuGet package. Se si installa questo pacchetto, il file ApplicationInsights.config non viene creato automaticamente.If you only install this package, the ApplicationInsights.config file is not automatically created.

Modalità di sviluppoDeveloper Mode

DeveloperModeWithDebuggerAttachedTelemetryModule impone a TelemetryChannel di Application Insights di inviare immediatamente i dati, un elemento di telemetria alla volta, quando un debugger viene collegato al processo dell'applicazione.DeveloperModeWithDebuggerAttachedTelemetryModule forces the Application Insights TelemetryChannel to send data immediately, one telemetry item at a time, when a debugger is attached to the application process. Ciò permette di ridurre la quantità di tempo tra il momento in cui l'applicazione rileva i dati di telemetria e il momento in cui vengono visualizzati nel portale di Application Insights.This reduces the amount of time between the moment when your application tracks telemetry and when it appears on the Application Insights portal. Questo causa un costo significativo per la CPU e la larghezza di banda di rete.It causes significant overhead in CPU and network bandwidth.

Rilevamento delle richieste webWeb Request Tracking

Riporta il tempo di risposta e il codice dei risultati delle richieste HTTP.Reports the response time and result code of HTTP requests.

Rilevamento delle eccezioniException tracking

ExceptionTrackingTelemetryModule rileva le eccezioni non gestite nell'app Web.ExceptionTrackingTelemetryModule tracks unhandled exceptions in your web app. Vedere Errori ed eccezioni.See Failures and exceptions.

Rilevamento EventSourceEventSource Tracking

EventSourceTelemetryModule consente di configurare eventi EventSource da inviare ad Application Insights come tracce.EventSourceTelemetryModule allows you to configure EventSource events to be sent to Application Insights as traces. Per informazioni su eventi EventSource di rilevamento, vedere Using EventSource Events (uso degli eventi EventSource).For information on tracking EventSource events, see Using EventSource Events.

Registrazione degli eventi ETWETW Event Tracking

EtwCollectorTelemetryModule consente di configurare gli eventi dai provider ETW da inviare ad Application Insights come tracce.EtwCollectorTelemetryModule allows you to configure events from ETW providers to be sent to Application Insights as traces. Per informazioni sul rilevamento di eventi ETW, vedere Using ETW Events (Uso di eventi ETW).For information on tracking ETW events, see Using ETW Events.

Microsoft.ApplicationInsightsMicrosoft.ApplicationInsights

Il pacchetto Microsoft.ApplicationInsights include l' API principale dell'SDK.The Microsoft.ApplicationInsights package provides the core API of the SDK. Gli altri moduli di telemetria utilizzano questo pacchetto, ed è possibile anche utilizzarlo per definire la propria telemetria.The other telemetry modules use this, and you can also use it to define your own telemetry.

  • Non ci sono voci in ApplicationInsights.config.No entry in ApplicationInsights.config.
  • Microsoft.ApplicationInsights .Microsoft.ApplicationInsights NuGet package. Se si installa questo NuGet, non viene generato nessun file .config.If you just install this NuGet, no .config file is generated.

Canale di telemetriaTelemetry Channel

Il canale di telemetria gestisce i buffering e la trasmissione della telemetria al servizio Application Insights.The telemetry channel manages buffering and transmission of telemetry to the Application Insights service.

  • Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel è il canale predefinito per i servizi.Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel is the default channel for services. Esegue il buffering dei dati in memoria.It buffers data in memory.
  • Microsoft.ApplicationInsights.PersistenceChannel è un’alternativa per le applicazioni della console.Microsoft.ApplicationInsights.PersistenceChannel is an alternative for console applications. Esso può salvare qualsiasi dato unflushed nell’archivio permanente quando si arresta l’applicazione, e lo invia quando la si riapre.It can save any unflushed data to persistent storage when your app closes down, and will send it when the app starts again.

Inizializzatori di telemetria (ASP.NET)Telemetry Initializers (ASP.NET)

Gli inizializzatori di telemetria impostano proprietà di contesto che vengono inviate insieme ad ogni elemento di telemetria.Telemetry initializers set context properties that are sent along with every item of telemetry.

E’ possibile scrivere i propri inizializzatori per impostare proprietà di contesto.You can write your own initializers to set context properties.

Gli inizializzatori standard sono tutti impostati dal Web o dai pacchetti NuGet WindowsServer:The standard initializers are all set either by the Web or WindowsServer NuGet packages:

  • AccountIdTelemetryInitializer imposta la proprietà AccountId.AccountIdTelemetryInitializer sets the AccountId property.
  • AuthenticatedUserIdTelemetryInitializer imposta la proprietà AuthenticatedUserId come impostata dal SDK di JavaScript.AuthenticatedUserIdTelemetryInitializer sets the AuthenticatedUserId property as set by the JavaScript SDK.
  • AzureRoleEnvironmentTelemetryInitializer aggiorna le proprietà RoleName e RoleInstance del contesto Device per tutti gli elementi di telemetria con le informazioni estratte dall'ambiente di runtime di Azure.AzureRoleEnvironmentTelemetryInitializer updates the RoleName and RoleInstance properties of the Device context for all telemetry items with information extracted from the Azure runtime environment.
  • BuildInfoConfigComponentVersionTelemetryInitializer aggiorna la proprietà Version del contesto Component per tutti gli elementi di telemetria con il valore estratto dal file BuildInfo.config prodotto dalla compilazione MS.BuildInfoConfigComponentVersionTelemetryInitializer updates the Version property of the Component context for all telemetry items with the value extracted from the BuildInfo.config file produced by MS Build.
  • ClientIpHeaderTelemetryInitializer aggiorna le proprietà Ip del contesto Location di tutti gli elementi di telemetria in base all'intestazione HTTP X-Forwarded-For della richiesta.ClientIpHeaderTelemetryInitializer updates Ip property of the Location context of all telemetry items based on the X-Forwarded-For HTTP header of the request.
  • DeviceTelemetryInitializer aggiorna le proprietà seguenti del contesto Device per tutti gli elementi di telemetria.DeviceTelemetryInitializer updates the following properties of the Device context for all telemetry items.
    • Type viene impostato su "PC".Type is set to "PC"
    • Id viene impostato sul nome di dominio del computer in cui è in esecuzione l'applicazione Web.Id is set to the domain name of the computer where the web application is running.
    • OemName è impostato sul valore estratto dal campo Win32_ComputerSystem.Manufacturer mediante WMI.OemName is set to the value extracted from the Win32_ComputerSystem.Manufacturer field using WMI.
    • Model è impostato sul valore estratto dal campo Win32_ComputerSystem.Model mediante WMI.Model is set to the value extracted from the Win32_ComputerSystem.Model field using WMI.
    • NetworkType è impostato sul valore estratto da NetworkInterface.NetworkType is set to the value extracted from the NetworkInterface.
    • Language è impostato sul nome di CurrentCulture.Language is set to the name of the CurrentCulture.
  • DomainNameRoleInstanceTelemetryInitializer aggiorna la proprietà RoleInstance del contesto Device per tutti gli elementi di telemetria con il nome di dominio del computer in cui è in esecuzione l'applicazione Web.DomainNameRoleInstanceTelemetryInitializer updates the RoleInstance property of the Device context for all telemetry items with the domain name of the computer where the web application is running.
  • OperationNameTelemetryInitializer aggiorna la proprietà Name di RequestTelemetry e la proprietà Name del contesto Operation di tutti gli elementi di telemetria in base al metodo HTTP, oltre ai nomi del controller MVC ASP.NET e all'azione richiamata per elaborare la richiesta.OperationNameTelemetryInitializer updates the Name property of the RequestTelemetry and the Name property of the Operation context of all telemetry items based on the HTTP method, as well as names of ASP.NET MVC controller and action invoked to process the request.
  • OperationIdTelemetryInitializer o OperationCorrelationTelemetryInitializer aggiorna la proprietà di contesto Operation.Id di tutti gli elementi di telemetria rilevati durante la gestione di una richiesta con il RequestTelemetry.Id generato automaticamente.OperationIdTelemetryInitializer or OperationCorrelationTelemetryInitializer updates the Operation.Id context property of all telemetry items tracked while handling a request with the automatically generated RequestTelemetry.Id.
  • SessionTelemetryInitializer aggiorna la proprietà Id del contesto Session per tutti gli elementi di telemetria con il valore estratto dal cookie ai_session generato dal codice di strumentazione JavaScript di Application Insights in esecuzione nel browser dell'utente.SessionTelemetryInitializer updates the Id property of the Session context for all telemetry items with value extracted from the ai_session cookie generated by the ApplicationInsights JavaScript instrumentation code running in the user's browser.
  • SyntheticTelemetryInitializer o SyntheticUserAgentTelemetryInitializer aggiorna le proprietà di contesto User, Session e Operation di tutti gli elementi di telemetria rilevati durante la gestione di una richiesta da un'origine sintetica, ad esempio un test di disponibilità o un robot del motore di ricerca.SyntheticTelemetryInitializer or SyntheticUserAgentTelemetryInitializer updates the User, Session and Operation contexts properties of all telemetry items tracked when handling a request from a synthetic source, such as an availability test or search engine bot. Per impostazione predefinita, Esplora metriche non mostra la telemetria sintetica.By default, Metrics Explorer does not display synthetic telemetry.

    <Filters> imposta le proprietà di identificazione delle richieste.The <Filters> set identifying properties of the requests.

  • UserTelemetryInitializer aggiorna le proprietà Id e AcquisitionDate del contesto User per tutti gli elementi di telemetria con i valori estratti dal cookie ai_user generato dal codice di strumentazione JavaScript di Application Insights in esecuzione nel browser dell'utente.UserTelemetryInitializer updates the Id and AcquisitionDate properties of User context for all telemetry items with values extracted from the ai_user cookie generated by the Application Insights JavaScript instrumentation code running in the user's browser.
  • WebTestTelemetryInitializer imposta l'id utente, l'id di sessione e le proprietà di origine sintetica per le richieste HTTP che provengono da test di disponibilità.WebTestTelemetryInitializer sets the user id, session id and synthetic source properties for HTTP requests that come from availability tests. <Filters> imposta le proprietà di identificazione delle richieste.The <Filters> set identifying properties of the requests.

Per le applicazioni .NET in esecuzione in Service Fabric, è possibile includere il pacchetto NuGet Microsoft.ApplicationInsights.ServiceFabric.For .NET applications running in Service Fabric, you can include the Microsoft.ApplicationInsights.ServiceFabric NuGet package. Questo pacchetto include FabricTelemetryInitializer, che aggiunge le proprietà di Service Fabric per gli elementi di telemetria.This package includes a FabricTelemetryInitializer, which adds Service Fabric properties to telemetry items. Per ulteriori informazioni, vedere la pagina GitHub sulle proprietà aggiunte dal pacchetto NuGet.For more information, see the GitHub page about the properties added by this NuGet package.

Processori di telemetria (ASP.NET)Telemetry Processors (ASP.NET)

I processori di telemetria possono filtrare e modificare ciascun elemento di telemetria prima di inviarlo dal SDK al portale.Telemetry processors can filter and modify each telemetry item just before it is sent from the SDK to the portal.

E’ possibile scrivere i propri processori di telemetria.You can write your own telemetry processors.

Processore di telemetria di campionamento adattivo (da 2.0.0-beta3)Adaptive sampling telemetry processor (from 2.0.0-beta3)

Questa opzione è abilitata per impostazione predefinita.This is enabled by default. Se l'app invia molti dati di telemetria, questo processore rimuove alcune di esse.If your app sends a lot of telemetry, this processor removes some of it.


    <TelemetryProcessors>
      <Add Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor, Microsoft.AI.ServerTelemetryChannel">
        <MaxTelemetryItemsPerSecond>5</MaxTelemetryItemsPerSecond>
      </Add>
    </TelemetryProcessors>

Il parametro fornisce la destinazione che l'algoritmo tenta di ottenere.The parameter provides the target that the algorithm tries to achieve. Ogni istanza di SDK funziona in modo indipendente, pertanto se il server è un cluster di più computer, il volume dei dati di telemetria verrà di conseguenza moltiplicato.Each instance of the SDK works independently, so if your server is a cluster of several machines, the actual volume of telemetry will be multiplied accordingly.

Altre informazioni sul campionamento.Learn more about sampling.

Processore di telemetria di campionamento adattivo (da 2.0.0-beta1)Fixed-rate sampling telemetry processor (from 2.0.0-beta1)

È inoltre disponibile un processore di telemetria di campionamento standard (da 2.0.1):There is also a standard sampling telemetry processor (from 2.0.1):


    <TelemetryProcessors>
     <Add Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor, Microsoft.AI.ServerTelemetryChannel">

     <!-- Set a percentage close to 100/N where N is an integer. -->
     <!-- E.g. 50 (=100/2), 33.33 (=100/3), 25 (=100/4), 20, 1 (=100/100), 0.1 (=100/1000) -->
     <SamplingPercentage>10</SamplingPercentage>
     </Add>
   </TelemetryProcessors>

Parametri del canale (Java)Channel parameters (Java)

Questi parametri influiscono sul modo in cui l'SDK per Java deve archiviare e scaricare i dati di telemetria raccolti.These parameters affect how the Java SDK should store and flush the telemetry data that it collects.

MaxTelemetryBufferCapacityMaxTelemetryBufferCapacity

Indica il numero di elementi di telemetria che possono essere archiviati nella risorsa di archiviazione in memoria dell'SDK.The number of telemetry items that can be stored in the SDK's in-memory storage. Quando viene raggiunto questo numero, il buffer di telemetria viene scaricato, ovvero gli elementi di telemetria vengono inviati al server Application Insights.When this number is reached, the telemetry buffer is flushed - that is, the telemetry items are sent to the Application Insights server.

  • Min: 1Min: 1
  • Max: 1000Max: 1000
  • Valore predefinito: 500Default: 500

  <ApplicationInsights>
      ...
      <Channel>
       <MaxTelemetryBufferCapacity>100</MaxTelemetryBufferCapacity>
      </Channel>
      ...
  </ApplicationInsights>

FlushIntervalInSecondsFlushIntervalInSeconds

Determina la frequenza con cui vengono scaricati (inviati ad Application Insights) i dati nella risorsa di archiviazione in memoria.Determines how often the data that is stored in the in-memory storage should be flushed (sent to Application Insights).

  • Min: 1Min: 1
  • Max: 300Max: 300
  • Valore predefinito: 5Default: 5

    <ApplicationInsights>
      ...
      <Channel>
        <FlushIntervalInSeconds>100</FlushIntervalInSeconds>
      </Channel>
      ...
    </ApplicationInsights>

MaxTransmissionStorageCapacityInMBMaxTransmissionStorageCapacityInMB

Determina le dimensioni massime in MB assegnate all'archivio permanente sul disco locale.Determines the maximum size in MB that is allotted to the persistent storage on the local disk. Questo archivio viene usato per archiviare in modo permanente gli elementi di telemetria che non sono stati trasmessi all'endpoint di Application Insights.This storage is used for persisting telemetry items that failed to be transmitted to the Application Insights endpoint. Quando vengono raggiunte le dimensioni di archiviazione, i nuovi elementi di telemetria verranno eliminati.When the storage size has been met, new telemetry items will be discarded.

  • Min: 1Min: 1
  • Max: 100Max: 100
  • Valore predefinito: 10Default: 10

   <ApplicationInsights>
      ...
      <Channel>
        <MaxTransmissionStorageCapacityInMB>50</MaxTransmissionStorageCapacityInMB>
      </Channel>
      ...
   </ApplicationInsights>

InstrumentationKeyInstrumentationKey

Determina la risorsa di Application Insights in cui vengono visualizzati i dati.This determines the Application Insights resource in which your data appears. In genere, viene creata una risorsa separata, con una chiave separata, per ognuna delle applicazioni.Typically you create a separate resource, with a separate key, for each of your applications.

Se si vuole impostare la chiave in modo dinamico, ad esempio se si intende inviare i risultati dall'applicazione a diverse risorse, è possibile omettere la chiave dal file di configurazione e impostarla nel codice.If you want to set the key dynamically - for example if you want to send results from your application to different resources - you can omit the key from the configuration file, and set it in code instead.

Per impostare la chiave per tutte le istanze di TelemetryClient, inclusi i moduli di telemetria standard, impostare la chiave in TelemetryConfiguration.Active.To set the key for all instances of TelemetryClient, including standard telemetry modules, set the key in TelemetryConfiguration.Active. Eseguire questa operazione in un metodo di inizializzazione, ad esempio global.aspx.cs in un servizio ASP.NET:Do this in an initialization method, such as global.aspx.cs in an ASP.NET service:


    protected void Application_Start()
    {
      Microsoft.ApplicationInsights.Extensibility.
        TelemetryConfiguration.Active.InstrumentationKey =
          // - for example -
          WebConfigurationManager.Settings["ikey"];
      //...

Se si vuole inviare un set specifico di eventi a una risorsa diversa, è possibile impostare la chiave per un oggetto TelemetryClient specifico:If you just want to send a specific set of events to a different resource, you can set the key for a specific TelemetryClient:


    var tc = new TelemetryClient();
    tc.Context.InstrumentationKey = "----- my key ----";
    tc.TrackEvent("myEvent");
    // ...

Per ottenere una nuova chiave, creare una nuova risorsa nel portale di Application Insights.To get a new key, create a new resource in the Application Insights portal.

Provider ApplicationIdApplicationId Provider

Disponibile a partire dalla versione v2.6.0Available starting in v2.6.0

Lo scopo di questo provider è quello di cercare un ID applicazione in base a una chiave di strumentazione.The purpose of this provider is to lookup an Application Id based on an Instrumentation Key. L'ID applicazione è incluso in RequestTelemetry e DependencyTelemetry e usato per determinare la correlazione nel portale.The Application Id is included in RequestTelemetry and DependencyTelemetry and used to determine Correlation in the Portal.

È disponibile impostando TelemetryConfiguration.ApplicationIdProvider nel codice o nella configurazione.This is available by setting TelemetryConfiguration.ApplicationIdProvider either in code or in config.

Interfaccia: IApplicationIdProviderInterface: IApplicationIdProvider

public interface IApplicationIdProvider
{
    bool TryGetApplicationId(string instrumentationKey, out string applicationId);
}

Vengono fornite due implementazioni nell'SDK Microsoft.ApplicationInsights: ApplicationInsightsApplicationIdProvider e DictionaryApplicationIdProvider.We provide two implementations in the Microsoft.ApplicationInsights sdk: ApplicationInsightsApplicationIdProvider and DictionaryApplicationIdProvider.

ApplicationInsightsApplicationIdProviderApplicationInsightsApplicationIdProvider

Wrapper dell'API di profilatura.This is a wrapper around our Profile Api. Limita le richieste e i risultati nella cache.It will throttle requests and cache results.

Questo provider viene aggiunto al file config quando si installa Microsoft.ApplicationInsights.DependencyCollector o Microsoft.ApplicationInsights.WebThis provider is added to your config file when you install either Microsoft.ApplicationInsights.DependencyCollector or Microsoft.ApplicationInsights.Web

Questa classe ha una proprietà ProfileQueryEndpoint facoltativa.This class has an optional property ProfileQueryEndpoint. L'impostazione predefinita è https://dc.services.visualstudio.com/api/profiles/{0}/appId.By default this is set to https://dc.services.visualstudio.com/api/profiles/{0}/appId. Se è necessario configurare un proxy per questa configurazione, è consigliabile inoltrare i dati all'indirizzo di base e includere "/api/profiles/{0}/appId".If you need to configure a proxy for this configuration, we recommend proxying the base address and including "/api/profiles/{0}/appId". Si noti che "{0}" viene sostituito in fase di esecuzione per ogni richiesta con la chiave di strumentazione.Note that '{0}' is substituted at runtime per request with the Instrumentation Key.

Configurazione di esempio tramite ApplicationInsights.config:Example Configuration via ApplicationInsights.config:

<ApplicationInsights>
    ...
    <ApplicationIdProvider Type="Microsoft.ApplicationInsights.Extensibility.Implementation.ApplicationId.ApplicationInsightsApplicationIdProvider, Microsoft.ApplicationInsights">
        <ProfileQueryEndpoint>https://dc.services.visualstudio.com/api/profiles/{0}/appId</ProfileQueryEndpoint>
    </ApplicationIdProvider>
    ...
</ApplicationInsights>

Configurazione di esempio tramite codice:Example Configuration via code:

TelemetryConfiguration.Active.ApplicationIdProvider = new ApplicationInsightsApplicationIdProvider();

DictionaryApplicationIdProviderDictionaryApplicationIdProvider

Si tratta di un provider statico che si basa sulle coppie di chiave di strumentazione/ID applicazione configurate.This is a static provider which will rely on your configured Instrumentation Key / Application Id pairs.

Questa classe ha una proprietà Defined che corrisponde a un oggetto Dictionary<stringa,stringa> di coppie di chiave di strumentazione/ID applicazione configurate.This class has a property Defined which is a Dictionary<string,string> of Instrumentation Key to Application Id pairs.

Questa classe ha una proprietà Next facoltativa che può essere usata per configurare un altro provider da usare quando viene richiesta una chiave di strumentazione che non esiste nella configurazione.This class has an optional property Next which can be used to configure another provider to use when an Instrumentation Key is requested that does not exist in your configuration.

Configurazione di esempio tramite ApplicationInsights.config:Example Configuration via ApplicationInsights.config:

<ApplicationInsights>
    ...
    <ApplicationIdProvider Type="Microsoft.ApplicationInsights.Extensibility.Implementation.ApplicationId.DictionaryApplicationIdProvider, Microsoft.ApplicationInsights">
        <Defined>
            <Type key="InstrumentationKey_1" value="ApplicationId_1"/>
            <Type key="InstrumentationKey_2" value="ApplicationId_2"/>
        </Defined>
        <Next Type="Microsoft.ApplicationInsights.Extensibility.Implementation.ApplicationId.ApplicationInsightsApplicationIdProvider, Microsoft.ApplicationInsights" />
    </ApplicationIdProvider>
    ...
</ApplicationInsights>

Configurazione di esempio tramite codice:Example Configuration via code:

TelemetryConfiguration.Active.ApplicationIdProvider = new DictionaryApplicationIdProvider{
 Defined = new Dictionary<string, string>
    {
        {"InstrumentationKey_1", "ApplicationId_1"},
        {"InstrumentationKey_2", "ApplicationId_2"}
    }
};

Passaggi successiviNext steps

Altre informazioni sull'API.Learn more about the API.