Konfigurera Application Insights SDK:n med ApplicationInsights.config eller .xmlConfiguring the Application Insights SDK with ApplicationInsights.config or .xml

Application Insights .NET SDK består av ett antal NuGet-paket.The Application Insights .NET SDK consists of a number of NuGet packages. Kärn paketet innehåller API: et för att skicka telemetri till Application Insights.The core package provides the API for sending telemetry to the Application Insights. Ytterligare paket tillhandahåller telemetri- moduler och initierare för automatisk spårning av telemetri från ditt program och dess kontext.Additional packages provide telemetry modules and initializers for automatically tracking telemetry from your application and its context. Genom att justera konfigurations filen kan du aktivera eller inaktivera moduler för telemetri och initierare och ange parametrar för några av dem.By adjusting the configuration file, you can enable or disable Telemetry Modules and initializers, and set parameters for some of them.

Konfigurations filen heter ApplicationInsights.config eller ApplicationInsights.xml, beroende på typen av program.The configuration file is named ApplicationInsights.config or ApplicationInsights.xml, depending on the type of your application. Den läggs automatiskt till i projektet när du installerar de flesta versioner av SDK.It is automatically added to your project when you install most versions of the SDK. När du använder den automatiserade upplevelsen från Visual Studio Template-projekt som har stöd för Lägg till > Application Insights Telemetryskapas filen ApplicationInsights. config som standard i projektets rotmapp och när det är uppfyllt kopieras till bin-mappen.By default, when using the automated experience from the Visual Studio template projects that support Add > Application Insights Telemetry, the ApplicationInsights.config file is created in the project root folder and when complied is copied to the bin folder. Den läggs också till i en webbapp genom att statusövervakare på en IIS-server.It is also added to a web app by Status Monitor on an IIS server. Konfigurations filen ignoreras om tillägget för Azure-webbplatsen eller tillägget för Azure VM och skalnings uppsättningen för virtuella datorer används.The configuration file is ignored if extension for Azure website or extension for Azure VM and virtual machine scale set is used.

Det finns ingen motsvarande fil för att kontrol lera SDK: n på en webb sida.There isn't an equivalent file to control the SDK in a web page.

Det här dokumentet beskriver de avsnitt som visas i konfigurations filen, hur de styr komponenterna i SDK och vilka NuGet-paket som läser in dessa komponenter.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.

Anteckning

ApplicationInsights. config och. XML-instruktioner gäller inte för .NET Core SDK.ApplicationInsights.config and .xml instructions do not apply to the .NET Core SDK. Följ den här guiden för att konfigurera .net Core-program.For configuring .NET Core applications, follow this guide.

Telemetri-moduler (ASP.NET)Telemetry Modules (ASP.NET)

Varje telemetri-modul samlar in en speciell typ av data och använder huvud-API: et för att skicka data.Each Telemetry Module collects a specific type of data and uses the core API to send the data. Modulerna installeras av olika NuGet-paket, vilket även lägger till de rader som krävs i. config-filen.The modules are installed by different NuGet packages, which also add the required lines to the .config file.

Det finns en nod i konfigurations filen för varje modul.There's a node in the configuration file for each module. Om du vill inaktivera en modul tar du bort noden eller kommenterar den.To disable a module, delete the node or comment it out.

Beroende spårningDependency Tracking

Beroende spårning samlar in telemetri om samtal som din app gör till databaser och externa tjänster och databaser.Dependency tracking collects telemetry about calls your app makes to databases and external services and databases. Om du vill tillåta att den här modulen fungerar på en IIS-server måste du installera statusövervakare.To allow this module to work in an IIS server, you need to install Status Monitor.

Du kan också skriva en egen beroende spårnings kod med TrackDependency-API: et.You can also write your own dependency tracking code using the TrackDependency API.

Beroenden kan samlas in automatiskt utan att ändra din kod med hjälp av grupprincipbaserad (kodad) anslutning.Dependencies can be auto-collected without modifying your code by using agent-based (codeless) attach. Aktivera Application Insights-tilläggetom du vill använda det i Azure-webbappar.To use it in Azure web apps, enable the Application Insights extension. Om du vill använda det i virtuell Azure-dator eller skalnings uppsättning för virtuella Azure-datorer aktiverar du program övervaknings tillägget för virtuell dator och skal uppsättning för virtuell dator.To use it in Azure VM or Azure virtual machine scale set enable the Application Monitoring extension for VM and virtual machine scale set.

Prestanda insamlarePerformance collector

Samlar in system prestanda räknare som CPU, minne och nätverks belastning från IIS-installationer.Collects system performance counters such as CPU, memory, and network load from IIS installations. Du kan ange vilka räknare som ska samlas in, inklusive prestanda räknare som du själv har konfigurerat.You can specify which counters to collect, including performance counters you have set up yourself.

Application Insights Diagnostics-telemetriApplication Insights Diagnostics Telemetry

DiagnosticsTelemetryModule rapporterar fel i själva Application Insights Instrumentation-koden.The DiagnosticsTelemetryModule reports errors in the Application Insights instrumentation code itself. Om koden till exempel inte kan komma åt prestanda räknare eller om en ITelemetryInitializer genererar ett undantag.For example, if the code cannot access performance counters or if an ITelemetryInitializer throws an exception. Trace-telemetri som spåras av den här modulen visas i den diagnostiska sökningen.Trace telemetry tracked by this module appears in the Diagnostic Search.

* `Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.DiagnosticsTelemetryModule`
* [Microsoft.ApplicationInsights](https://www.nuget.org/packages/Microsoft.ApplicationInsights) NuGet package. If you only install this package, the ApplicationInsights.config file is not automatically created.

UtvecklarlägeDeveloper Mode

DeveloperModeWithDebuggerAttachedTelemetryModule tvingar Application Insights TelemetryChannel att skicka data omedelbart, ett telemetridata i taget, när en fel sökare är kopplad till program processen.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. Detta minskar tiden mellan tidpunkten då programmet spårar telemetri och när det visas på Application Insights-portalen.This reduces the amount of time between the moment when your application tracks telemetry and when it appears on the Application Insights portal. Det orsakar betydande kostnader för processor-och nätverks bandbredd.It causes significant overhead in CPU and network bandwidth.

Spårning av webb förfrågningarWeb Request Tracking

Rapporterar svars tid och resultat kod för HTTP-begäranden.Reports the response time and result code of HTTP requests.

UndantagsspårningException tracking

ExceptionTrackingTelemetryModule spårar ohanterade undantag i din webbapp.ExceptionTrackingTelemetryModule tracks unhandled exceptions in your web app. Se fel och undantag.See Failures and exceptions.

EventSource spårningEventSource Tracking

med EventSourceTelemetryModule kan du konfigurera EventSource-händelser så att de skickas till Application Insights som spår.EventSourceTelemetryModule allows you to configure EventSource events to be sent to Application Insights as traces. Information om hur du spårar EventSource-händelser finns i använda EventSource-händelser.For information on tracking EventSource events, see Using EventSource Events.

Spårning av ETW-händelserETW Event Tracking

med EtwCollectorTelemetryModule kan du konfigurera händelser från ETW-leverantörer som ska skickas till Application Insights som spår.EtwCollectorTelemetryModule allows you to configure events from ETW providers to be sent to Application Insights as traces. Information om hur du spårar ETW-händelser finns i använda ETW-händelser.For information on tracking ETW events, see Using ETW Events.

Microsoft.ApplicationInsightsMicrosoft.ApplicationInsights

Microsoft. ApplicationInsights-paketet innehåller kärn-API: t för SDK: n.The Microsoft.ApplicationInsights package provides the core API of the SDK. De andra modulerna för telemetri använder detta, och du kan också använda det för att definiera din egen telemetri.The other Telemetry Modules use this, and you can also use it to define your own telemetry.

  • Ingen post i ApplicationInsights. config.No entry in ApplicationInsights.config.
  • Microsoft. ApplicationInsights NuGet-paket.Microsoft.ApplicationInsights NuGet package. Om du bara installerar den här NuGet genereras ingen. config-fil.If you just install this NuGet, no .config file is generated.

Telemetri kanalTelemetry Channel

Telemetri-kanalen hanterar buffring och överföring av telemetri till Application Insights tjänsten.The telemetry channel manages buffering and transmission of telemetry to the Application Insights service.

  • Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel är standard kanalen för webb program.Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel is the default channel for web applications. Den buffrar data i minnet och använder mekanismer för nya försök och lokal disk lagring för mer Reliable telemetri-leverans.It buffers data in memory, and employs retry mechanisms and local disk storage for more reliable telemetry delivery.
  • Microsoft.ApplicationInsights.InMemoryChannel är en Lightweight telemetri-kanal, som används om ingen annan kanal har kon figurer ATS.Microsoft.ApplicationInsights.InMemoryChannel is a lightweight telemetry channel, which is used if no other channel is configured.

Telemetri-initierare (ASP.NET)Telemetry Initializers (ASP.NET)

Telemetri initierare anger kontext egenskaper som skickas tillsammans med varje objekt i telemetri.Telemetry Initializers set context properties that are sent along with every item of telemetry.

Du kan skriva egna initierare för att ange kontext egenskaper.You can write your own initializers to set context properties.

Standard initierarna anges antingen av webb-eller Windows Server NuGet-paket:The standard initializers are all set either by the Web or WindowsServer NuGet packages:

  • AccountIdTelemetryInitializer anger egenskapen AccountId.AccountIdTelemetryInitializer sets the AccountId property.

  • AuthenticatedUserIdTelemetryInitializer anger egenskapen AuthenticatedUserId som anges av JavaScript SDK.AuthenticatedUserIdTelemetryInitializer sets the AuthenticatedUserId property as set by the JavaScript SDK.

  • AzureRoleEnvironmentTelemetryInitializer uppdaterar egenskaperna RoleName och RoleInstance för Device kontexten för alla telemetridata med information som extraherats från Azure runtime-miljön.AzureRoleEnvironmentTelemetryInitializer updates the RoleName and RoleInstance properties of the Device context for all telemetry items with information extracted from the Azure runtime environment.

  • BuildInfoConfigComponentVersionTelemetryInitializer uppdaterar Component kontextens Version-egenskap för alla telemetridata med det värde som extraheras från den BuildInfo.config-fil som genererats av MS build.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 updates Ip-egenskapen för Location kontexten för alla telemetridata baserat på X-Forwarded-For HTTP-huvud för begäran.ClientIpHeaderTelemetryInitializer updates Ip property of the Location context of all telemetry items based on the X-Forwarded-For HTTP header of the request.

  • DeviceTelemetryInitializer uppdaterar följande egenskaper för Device-kontexten för alla telemetri-objekt.DeviceTelemetryInitializer updates the following properties of the Device context for all telemetry items.

    • Type har angetts till "PC"Type is set to "PC"
    • Id har angetts till domän namnet för den dator där webb programmet körs.Id is set to the domain name of the computer where the web application is running.
    • OemName anges till det värde som extraheras från fältet Win32_ComputerSystem.Manufacturer med hjälp av WMI.OemName is set to the value extracted from the Win32_ComputerSystem.Manufacturer field using WMI.
    • Model anges till det värde som extraheras från fältet Win32_ComputerSystem.Model med hjälp av WMI.Model is set to the value extracted from the Win32_ComputerSystem.Model field using WMI.
    • NetworkType har angetts till värdet som extraheras från NetworkInterface.NetworkType is set to the value extracted from the NetworkInterface.
    • Language har angetts till namnet på CurrentCulture.Language is set to the name of the CurrentCulture.
  • DomainNameRoleInstanceTelemetryInitializer uppdaterar RoleInstance-egenskapen för Device kontexten för alla telemetridata med domän namnet för den dator där webb programmet körs.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 uppdaterar egenskapen Name för RequestTelemetry och egenskapen Name för Operation kontexten för alla telemetridata baserat på HTTP-metoden, samt namn på ASP.NET MVC-styrenheten och den åtgärd som anropas för att bearbeta begäran.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 eller OperationCorrelationTelemetryInitializer uppdaterar egenskapen Operation.Id kontext för alla telemetridata som spåras och hanterar en begäran med den automatiskt genererade RequestTelemetry.Id.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 uppdaterar Session kontextens Id-egenskap för alla telemetridata med värdet som extraheras från den ai_session cookien som genererats av ApplicationInsights JavaScript-Instrumentation-koden som körs i användarens webbläsare.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 eller SyntheticUserAgentTelemetryInitializer uppdaterar egenskaperna User, Sessionoch Operation för alla telemetridata som spåras vid hantering av en begäran från en syntetisk källa, till exempel ett tillgänglighets test eller en sökmotor-robot.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. Som standard visar Metrics Explorer inte syntetisk telemetri.By default, Metrics Explorer does not display synthetic telemetry.

    <Filters> definierar egenskaper för begär Anden.The <Filters> set identifying properties of the requests.

  • UserTelemetryInitializer uppdaterar egenskaperna Id och AcquisitionDate för User kontext för alla telemetridata med värden som har extraherats från ai_user cookie som genererats av Application Insights JavaScript-kod som körs i användarens webbläsare.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 anger egenskaper för användar-ID, sessions-ID och syntetisk källa för HTTP-förfrågningar som kommer från tillgänglighets test.WebTestTelemetryInitializer sets the user ID, session ID, and synthetic source properties for HTTP requests that come from availability tests. <Filters> definierar egenskaper för begär Anden.The <Filters> set identifying properties of the requests.

För .NET-program som körs i Service Fabric kan du ta med Microsoft.ApplicationInsights.ServiceFabric NuGet-paketet.For .NET applications running in Service Fabric, you can include the Microsoft.ApplicationInsights.ServiceFabric NuGet package. Det här paketet innehåller ett FabricTelemetryInitializersom lägger till Service Fabric egenskaper till telemetri-objekt.This package includes a FabricTelemetryInitializer, which adds Service Fabric properties to telemetry items. Mer information finns på sidan GitHub om de egenskaper som lagts till av det här NuGet-paketet.For more information, see the GitHub page about the properties added by this NuGet package.

Telemetri-processorer (ASP.NET)Telemetry Processors (ASP.NET)

Telemetri-processorer kan filtrera och ändra varje telemetri precis innan det skickas från SDK till portalen.Telemetry Processors can filter and modify each telemetry item just before it is sent from the SDK to the portal.

Du kan skriva egna telemetri-processorer.You can write your own Telemetry Processors.

Anpassningsbar samplings process för telemetri (från 2.0.0-beta3)Adaptive sampling Telemetry Processor (from 2.0.0-beta3)

Den här funktionen är aktiverad som standard.This is enabled by default. Om din app skickar mycket telemetri tar denna processor bort en del av den.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>

Parametern anger det mål som algoritmen försöker uppnå.The parameter provides the target that the algorithm tries to achieve. Varje instans av SDK fungerar oberoende, så om servern är ett kluster med flera datorer multipliceras den faktiska mängden telemetri på motsvarande sätt.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.

Lär dig mer om sampling.Learn more about sampling.

Processor med fast taxa för samplings frekvens (från 2.0.0-beta1)Fixed-rate sampling Telemetry Processor (from 2.0.0-beta1)

Det finns också en standard processor för sampling av telemetri (från 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>

Kanal parametrar (Java)Channel parameters (Java)

Dessa parametrar påverkar hur Java SDK ska lagra och rensa telemetridata som samlas in.These parameters affect how the Java SDK should store and flush the telemetry data that it collects.

MaxTelemetryBufferCapacityMaxTelemetryBufferCapacity

Antalet telemetri-objekt som kan lagras i SDK: s minnes lagring.The number of telemetry items that can be stored in the SDK's in-memory storage. När det här antalet uppnås, töms bufferten – det vill säga telemetri-objekten skickas till Application Insights-servern.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
  • Standard: 500Default: 500

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

FlushIntervalInSecondsFlushIntervalInSeconds

Anger hur ofta de data som lagras i minnes lagringen ska tömmas (skickas till Application Insights).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
  • Standard: 5Default: 5

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

MaxTransmissionStorageCapacityInMBMaxTransmissionStorageCapacityInMB

Fastställer den maximala storlek i MB som tilldelas den beständiga lagringen på den lokala disken.Determines the maximum size in MB that is allotted to the persistent storage on the local disk. Den här lagringen används för att bevara telemetri-objekt som inte kunde överföras till Application Insights slut punkten.This storage is used for persisting telemetry items that failed to be transmitted to the Application Insights endpoint. När lagrings storleken är uppfyllt, kommer nya telemetridata att ignoreras.When the storage size has been met, new telemetry items will be discarded.

  • Min: 1Min: 1
  • Max: 100Max: 100
  • Standard: 10Default: 10

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

InstrumentationKeyInstrumentationKey

Detta anger den Application Insights resurs som dina data visas i.This determines the Application Insights resource in which your data appears. Normalt skapar du en separat resurs med en separat nyckel för var och en av dina program.Typically you create a separate resource, with a separate key, for each of your applications.

Om du vill ange nyckeln dynamiskt, till exempel om du vill skicka resultat från ditt program till olika resurser, kan du utelämna nyckeln från konfigurations filen och ange den i kod i stället.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.

För att ange nyckeln för alla instanser av TelemetryClient, inklusive standardmoduler för telemetri.To set the key for all instances of TelemetryClient, including standard Telemetry Modules. Gör detta i en initierings metod, till exempel global.aspx.cs i en ASP.NET-tjänst:Do this in an initialization method, such as global.aspx.cs in an ASP.NET service:

using Microsoft.ApplicationInsights.Extensibility;
using Microsoft.ApplicationInsights;

    protected void Application_Start()
    {
        TelemetryConfiguration configuration = TelemetryConfiguration.CreateDefault();
        configuration.InstrumentationKey = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
        var telemetryClient = new TelemetryClient(configuration);
   

Om du bara vill skicka en särskild uppsättning händelser till en annan resurs kan du ange nyckeln för en särskild TelemetryClient: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");
    // ...

Skapa en ny resurs i Application Insights portalenför att få en ny nyckel.To get a new key, create a new resource in the Application Insights portal.

ApplicationId-ProviderApplicationId Provider

Tillgänglig från och med v-2.6.0Available starting in v2.6.0

Syftet med den här providern är att söka efter ett program-ID baserat på en Instrumentation-nyckel.The purpose of this provider is to lookup an Application ID based on an Instrumentation Key. Program-ID: t ingår i RequestTelemetry och DependencyTelemetry och används för att fastställa korrelationen i portalen.The Application ID is included in RequestTelemetry and DependencyTelemetry and used to determine Correlation in the Portal.

Detta är tillgängligt genom att ange TelemetryConfiguration.ApplicationIdProvider antingen i kod eller i konfig.This is available by setting TelemetryConfiguration.ApplicationIdProvider either in code or in config.

Gränssnitt: IApplicationIdProviderInterface: IApplicationIdProvider

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

Vi tillhandahåller två implementeringar i SDK: n för Microsoft. ApplicationInsights : ApplicationInsightsApplicationIdProvider och DictionaryApplicationIdProvider.We provide two implementations in the Microsoft.ApplicationInsights sdk: ApplicationInsightsApplicationIdProvider and DictionaryApplicationIdProvider.

ApplicationInsightsApplicationIdProviderApplicationInsightsApplicationIdProvider

Detta är en omslutning runt vårt profil-API.This is a wrapper around our Profile API. Den kommer att begränsa begär Anden och cache-resultat.It will throttle requests and cache results.

Den här providern läggs till i konfigurations filen när du installerar antingen Microsoft. ApplicationInsights. DependencyCollector eller Microsoft. ApplicationInsights. WebThis provider is added to your config file when you install either Microsoft.ApplicationInsights.DependencyCollector or Microsoft.ApplicationInsights.Web

Den här klassen har en valfri egenskap ProfileQueryEndpoint.This class has an optional property ProfileQueryEndpoint. Som standard är detta inställt på https://dc.services.visualstudio.com/api/profiles/{0}/appId.By default this is set to https://dc.services.visualstudio.com/api/profiles/{0}/appId. Om du behöver konfigurera en proxyserver för den här konfigurationen rekommenderar vi att du proxyerar bas adressen och inkluderar "/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". Observera att "{0}" ersätts vid körning per begäran med Instrumentation-nyckeln.Note that '{0}' is substituted at runtime per request with the Instrumentation Key.

Exempel på konfiguration via 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>

Exempel på konfiguration via kod:Example Configuration via code:

TelemetryConfiguration.Active.ApplicationIdProvider = new ApplicationInsightsApplicationIdProvider();

DictionaryApplicationIdProviderDictionaryApplicationIdProvider

Det här är en statisk provider som förlitar sig på den konfigurerade Instrumentation-nyckel/program-ID-paret.This is a static provider, which will rely on your configured Instrumentation Key / Application ID pairs.

Den här klassen har en egenskap Defined, som är en ord lista < sträng, String > för Instrumentation-nyckel till program-ID-par.This class has a property Defined, which is a Dictionary<string,string> of Instrumentation Key to Application ID pairs.

Den här klassen har en valfri egenskap Next som kan användas för att konfigurera en annan provider som ska användas när en Instrumentation-nyckel begärs som inte finns i konfigurationen.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.

Exempel på konfiguration via 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>

Exempel på konfiguration via kod:Example Configuration via code:

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

Nästa stegNext steps

Läs mer om API: et.Learn more about the API.