De Application Insights-SDK configureren met ApplicationInsights.config of ApplicationInsights.xmlConfiguring the Application Insights SDK with ApplicationInsights.config or .xml

De Application Insights .NET SDK bestaat uit een aantal NuGet-pakketten.The Application Insights .NET SDK consists of a number of NuGet packages. Het kern pakket biedt de API voor het verzenden van telemetrie naar de Application Insights.The core package provides the API for sending telemetry to the Application Insights. Aanvullende pakketten bieden telemetrie- modules en initialisatie functies voor het automatisch traceren van telemetrie van uw toepassing en de bijbehorende context.Additional packages provide telemetry modules and initializers for automatically tracking telemetry from your application and its context. Door het configuratie bestand aan te passen, kunt u telemetrie-modules en initialisatie functies in-of uitschakelen en para meters instellen voor een aantal hiervan.By adjusting the configuration file, you can enable or disable Telemetry Modules and initializers, and set parameters for some of them.

Het configuratie bestand heeft de naam ApplicationInsights.config of ApplicationInsights.xml, afhankelijk van het type toepassing.The configuration file is named ApplicationInsights.config or ApplicationInsights.xml, depending on the type of your application. Het wordt automatisch toegevoegd aan uw project wanneer u de meeste versies van de SDK installeert.It is automatically added to your project when you install most versions of the SDK. Wanneer u de geautomatiseerde ervaring gebruikt vanuit de Visual Studio-sjabloon projecten die ondersteuning bieden voor toevoegen > Application Insights Telemetry, wordt het ApplicationInsights. config-bestand standaard gemaakt in de hoofdmap van het project en wordt de naleving naar de bin-map gekopieerd.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. Het wordt ook toegevoegd aan een web-app door status monitor op een IIS-server.It is also added to a web app by Status Monitor on an IIS server. Het configuratie bestand wordt genegeerd als de extensie voor de Azure-website of- extensie voor de virtuele machine van Azure en de VM-schaalset wordt gebruikt.The configuration file is ignored if extension for Azure website or extension for Azure VM and virtual machine scale set is used.

Er is geen gelijkwaardig bestand voor het beheren van de SDK op een webpagina.There isn't an equivalent file to control the SDK in a web page.

In dit document worden de secties beschreven die u ziet in het configuratie bestand, hoe ze de onderdelen van de SDK beheren en welke NuGet-pakketten deze onderdelen laden.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.

Notitie

Instructies voor ApplicationInsights. config en. XML zijn niet van toepassing op de .NET Core SDK.ApplicationInsights.config and .xml instructions do not apply to the .NET Core SDK. Volg deze hand leiding voor het configureren van .net core-toepassingen.For configuring .NET Core applications, follow this guide.

Telemetrie-modules (ASP.NET)Telemetry Modules (ASP.NET)

Elke telemetrie-module verzamelt een specifiek type gegevens en gebruikt de core API om de gegevens te verzenden.Each Telemetry Module collects a specific type of data and uses the core API to send the data. De modules worden geïnstalleerd door verschillende NuGet-pakketten, waarmee ook de vereiste regels aan het. config-bestand worden toegevoegd.The modules are installed by different NuGet packages, which also add the required lines to the .config file.

Er is een knoop punt in het configuratie bestand voor elke module.There's a node in the configuration file for each module. Als u een module wilt uitschakelen, verwijdert u het knoop punt of opmerkingen toevoegen.To disable a module, delete the node or comment it out.

Afhankelijkheden bijhoudenDependency Tracking

Bij het bijhouden van afhankelijkheden wordt telemetrie over het oproepen van uw app naar data bases en externe services en data bases verzameld.Dependency tracking collects telemetry about calls your app makes to databases and external services and databases. Als u wilt toestaan dat deze module werkt in een IIS-server, moet u status monitor installeren.To allow this module to work in an IIS server, you need to install Status Monitor.

U kunt ook uw eigen tracerings code voor afhankelijkheid schrijven met behulp van de TrackDependency-API.You can also write your own dependency tracking code using the TrackDependency API.

Afhankelijkheden kunnen automatisch worden verzameld zonder uw code te wijzigen met behulp van op agents (zonder code) bijvoegen.Dependencies can be auto-collected without modifying your code by using agent-based (codeless) attach. Als u het wilt gebruiken in azure web apps, schakelt u de extensie Application Insightsin.To use it in Azure web apps, enable the Application Insights extension. Als u deze wilt gebruiken in azure VM of virtuele-machine schaalset van Azure, schakelt u de uitbrei ding toepassings bewaking in voor de VM-en virtuele-machine schaalset.To use it in Azure VM or Azure virtual machine scale set enable the Application Monitoring extension for VM and virtual machine scale set.

Prestatie verzamelaarPerformance collector

Verzamelt systeem prestatie meter items , zoals CPU, geheugen en netwerk belasting van IIS-installaties.Collects system performance counters such as CPU, memory, and network load from IIS installations. U kunt opgeven welke items moeten worden verzameld, met inbegrip van de prestatie meter items die u zelf hebt ingesteld.You can specify which counters to collect, including performance counters you have set up yourself.

Telemetrie diagnostische gegevens Application InsightsApplication Insights Diagnostics Telemetry

De DiagnosticsTelemetryModule rapporteert fouten in de Application Insights instrumentatie code zelf.The DiagnosticsTelemetryModule reports errors in the Application Insights instrumentation code itself. Als de code bijvoorbeeld geen toegang heeft tot prestatie meter items of als een ITelemetryInitializer een uitzonde ring genereert.For example, if the code cannot access performance counters or if an ITelemetryInitializer throws an exception. Telemetrie traceren die door deze module worden bijgehouden, wordt weer gegeven in de Diagnostische zoek opdracht.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.

Ontwikkelaars modusDeveloper Mode

DeveloperModeWithDebuggerAttachedTelemetryModule dwingt de Application Insights TelemetryChannel om direct gegevens te verzenden, een telemetrie-item wanneer er een fout opsporingsprogramma aan het toepassings proces is gekoppeld.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. Dit vermindert de hoeveelheid tijd tussen het moment waarop uw toepassing telemetrie bijhoudt en wanneer deze wordt weer gegeven op de Application Insights Portal.This reduces the amount of time between the moment when your application tracks telemetry and when it appears on the Application Insights portal. Dit veroorzaakt aanzienlijke overhead in CPU-en netwerk bandbreedte.It causes significant overhead in CPU and network bandwidth.

Tracering van webaanvragenWeb Request Tracking

Rapporteert de reactie tijd en de resultaat code van HTTP-aanvragen.Reports the response time and result code of HTTP requests.

Uitzonderingen bijhoudenException tracking

ExceptionTrackingTelemetryModule worden niet-verwerkte uitzonde ringen in uw web-app bijgehouden.ExceptionTrackingTelemetryModule tracks unhandled exceptions in your web app. Bekijk storingen en uitzonde ringen.See Failures and exceptions.

Event source trackingEventSource Tracking

met EventSourceTelemetryModule kunt u Event source-gebeurtenissen configureren voor verzen ding naar Application Insights als traceringen.EventSourceTelemetryModule allows you to configure EventSource events to be sent to Application Insights as traces. Zie gebeurtenis source Events gebruikenvoor meer informatie over het volgen van Event source-gebeurtenissen.For information on tracking EventSource events, see Using EventSource Events.

ETW-gebeurtenis traceringETW Event Tracking

met EtwCollectorTelemetryModule kunt u gebeurtenissen configureren van ETW-providers die naar Application Insights worden verzonden als traceringen.EtwCollectorTelemetryModule allows you to configure events from ETW providers to be sent to Application Insights as traces. Zie etw-gebeurtenissen gebruikenvoor meer informatie over het volgen van etw-gebeurtenissen.For information on tracking ETW events, see Using ETW Events.

Microsoft.ApplicationInsightsMicrosoft.ApplicationInsights

Het pakket micro soft. ApplicationInsights biedt de kern-API van de SDK.The Microsoft.ApplicationInsights package provides the core API of the SDK. De andere telemetrie-modules gebruiken deze en u kunt deze ook gebruiken om uw eigen telemetrie te definiëren.The other Telemetry Modules use this, and you can also use it to define your own telemetry.

  • Geen vermelding in ApplicationInsights. config.No entry in ApplicationInsights.config.
  • Micro soft. ApplicationInsights NuGet-pakket.Microsoft.ApplicationInsights NuGet package. Als u alleen deze NuGet installeert, wordt er geen. config-bestand gegenereerd.If you just install this NuGet, no .config file is generated.

Telemetrie-kanaalTelemetry Channel

Het telemetrie-kanaal beheert het bufferen en verzenden van telemetrie naar de Application Insights-service.The telemetry channel manages buffering and transmission of telemetry to the Application Insights service.

  • Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel is het standaard kanaal voor webtoepassingen.Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel is the default channel for web applications. Het buffert gegevens in het geheugen en maakt gebruik van mechanismen voor opnieuw proberen en lokale schijf opslag voor betrouwbaardere telemetrie-levering.It buffers data in memory, and employs retry mechanisms and local disk storage for more reliable telemetry delivery.
  • Microsoft.ApplicationInsights.InMemoryChannel is een licht gewicht-telemetrie-kanaal, dat wordt gebruikt als er geen ander kanaal is geconfigureerd.Microsoft.ApplicationInsights.InMemoryChannel is a lightweight telemetry channel, which is used if no other channel is configured.

Initialisatie functies voor telemetrie (ASP.NET)Telemetry Initializers (ASP.NET)

Met de initialisatie functies voor telemetrie worden context eigenschappen ingesteld die samen met elk item van telemetrie worden verzonden.Telemetry Initializers set context properties that are sent along with every item of telemetry.

U kunt uw eigen initialisatie functies schrijven om context eigenschappen in te stellen.You can write your own initializers to set context properties.

De standaard initialisatie functies zijn allemaal ingesteld door de web-of WindowsServer NuGet-pakketten:The standard initializers are all set either by the Web or WindowsServer NuGet packages:

  • AccountIdTelemetryInitializer stelt de eigenschap AccountId in.AccountIdTelemetryInitializer sets the AccountId property.

  • AuthenticatedUserIdTelemetryInitializer stelt de eigenschap AuthenticatedUserId in zoals ingesteld door de Java script-SDK.AuthenticatedUserIdTelemetryInitializer sets the AuthenticatedUserId property as set by the JavaScript SDK.

  • AzureRoleEnvironmentTelemetryInitializer werkt de RoleName-en RoleInstance eigenschappen van de Device-context voor alle telemetrie-items bij met gegevens die zijn geëxtraheerd uit de Azure runtime-omgeving.AzureRoleEnvironmentTelemetryInitializer updates the RoleName and RoleInstance properties of the Device context for all telemetry items with information extracted from the Azure runtime environment.

  • BuildInfoConfigComponentVersionTelemetryInitializer werkt de eigenschap Version van de Component context voor alle telemetrie-items uit met de waarde die is geëxtraheerd uit het BuildInfo.config bestand dat door MS build is gemaakt.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 eigenschap van de Location context van alle telemetrie-items op basis van de X-Forwarded-For HTTP-header van de aanvraag.ClientIpHeaderTelemetryInitializer updates Ip property of the Location context of all telemetry items based on the X-Forwarded-For HTTP header of the request.

  • DeviceTelemetryInitializer werkt de volgende eigenschappen van de Device-context voor alle telemetrie-items bij.DeviceTelemetryInitializer updates the following properties of the Device context for all telemetry items.

    • Type is ingesteld op ' PC 'Type is set to "PC"
    • Id is ingesteld op de domein naam van de computer waarop de webtoepassing wordt uitgevoerd.Id is set to the domain name of the computer where the web application is running.
    • OemName is ingesteld op de waarde die is geëxtraheerd uit het veld Win32_ComputerSystem.Manufacturer met behulp van WMI.OemName is set to the value extracted from the Win32_ComputerSystem.Manufacturer field using WMI.
    • Model is ingesteld op de waarde die is geëxtraheerd uit het veld Win32_ComputerSystem.Model met behulp van WMI.Model is set to the value extracted from the Win32_ComputerSystem.Model field using WMI.
    • NetworkType is ingesteld op de waarde die is geëxtraheerd uit de NetworkInterface.NetworkType is set to the value extracted from the NetworkInterface.
    • Language is ingesteld op de naam van de CurrentCulture.Language is set to the name of the CurrentCulture.
  • DomainNameRoleInstanceTelemetryInitializer werkt de eigenschap RoleInstance van de Device context voor alle telemetrie-items uit met de domein naam van de computer waarop de webtoepassing wordt uitgevoerd.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 werkt de eigenschap Name van de RequestTelemetry en de eigenschap Name van de Operation context van alle telemetrie-items op basis van de HTTP-methode, evenals namen van de ASP.NET MVC-controller en de actie die is aangeroepen om de aanvraag te verwerken.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 of OperationCorrelationTelemetryInitializer werkt de eigenschap Operation.Id context bij van alle telemetriegegevens die worden bijgehouden tijdens het verwerken van een aanvraag met de automatisch gegenereerde 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 werkt de eigenschap Id van de Session context voor alle telemetrie-items uit met een waarde die is geëxtraheerd uit de ai_session cookie die wordt gegenereerd door de ApplicationInsights java script Instrumentation-code die wordt uitgevoerd in de browser van de gebruiker.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.

  • met SyntheticTelemetryInitializer of SyntheticUserAgentTelemetryInitializer worden de eigenschappen User, Sessionen Operation bijgewerkt van alle telemetriegegevens die worden bijgehouden bij het afhandelen van een aanvraag van een synthetische bron, zoals een beschikbaarheids test of een zoek machine-bot.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. Metrics Explorer worden standaard geen synthetische telemetrie weer gegeven.By default, Metrics Explorer does not display synthetic telemetry.

    De <Filters> het identificeren van eigenschappen van de aanvragen.The <Filters> set identifying properties of the requests.

  • UserTelemetryInitializer werkt de Id-en AcquisitionDate eigenschappen van User context voor alle telemetrie-items uit met waarden die zijn geëxtraheerd uit de ai_user cookie die wordt gegenereerd door de Application Insights java script Instrumentation-code die wordt uitgevoerd in de browser van de gebruiker.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 stelt de gebruikers-ID, sessie-ID en synthetische bron eigenschappen in voor HTTP-aanvragen die afkomstig zijn van beschikbaarheids testen.WebTestTelemetryInitializer sets the user ID, session ID, and synthetic source properties for HTTP requests that come from availability tests. De <Filters> het identificeren van eigenschappen van de aanvragen.The <Filters> set identifying properties of the requests.

Voor .NET-toepassingen die worden uitgevoerd in Service Fabric, kunt u het Microsoft.ApplicationInsights.ServiceFabric NuGet-pakket toevoegen.For .NET applications running in Service Fabric, you can include the Microsoft.ApplicationInsights.ServiceFabric NuGet package. Dit pakket bevat een FabricTelemetryInitializer, waarmee Service Fabric eigenschappen aan telemetrie-items worden toegevoegd.This package includes a FabricTelemetryInitializer, which adds Service Fabric properties to telemetry items. Zie de pagina github over de eigenschappen die zijn toegevoegd door dit NuGet-pakket voor meer informatie.For more information, see the GitHub page about the properties added by this NuGet package.

Telemetrie-processors (ASP.NET)Telemetry Processors (ASP.NET)

Telemetrie-processors kunnen elk telemetrie-item filteren en wijzigen voordat het wordt verzonden vanuit de SDK naar de portal.Telemetry Processors can filter and modify each telemetry item just before it is sent from the SDK to the portal.

U kunt uw eigen telemetrie-processors schrijven.You can write your own Telemetry Processors.

Apparaatafhankelijke bemonsterings-telemetrie-processor (van 2.0.0-beta3)Adaptive sampling Telemetry Processor (from 2.0.0-beta3)

Deze optie is standaard ingeschakeld.This is enabled by default. Als uw app veel telemetrie verzendt, wordt deze door deze processor verwijderd.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>

De para meter geeft het doel aan dat het algoritme probeert te bereiken.The parameter provides the target that the algorithm tries to achieve. Elk exemplaar van de SDK werkt onafhankelijk, dus als uw server een cluster is van verschillende computers, wordt het werkelijke volume van de telemetrie op basis daarvan vermenigvuldigd.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.

Meer informatie over steek proeven.Learn more about sampling.

Telemetrie-sampling-processor met vaste frequentie (van 2.0.0-beta1)Fixed-rate sampling Telemetry Processor (from 2.0.0-beta1)

Er is ook een standaard- sample-telemetrie-processor (van 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>

Kanaal parameters (Java)Channel parameters (Java)

Deze para meters bepalen hoe de Java-SDK de telemetriegegevens van de gegevensverzamelings gegevens moet opslaan en leegmaken.These parameters affect how the Java SDK should store and flush the telemetry data that it collects.

MaxTelemetryBufferCapacityMaxTelemetryBufferCapacity

Het aantal telemetriegegevens dat kan worden opgeslagen in de opslag ruimte in het geheugen van de SDK.The number of telemetry items that can be stored in the SDK's in-memory storage. Wanneer dit aantal is bereikt, wordt de telemetrie-buffer leeg gemaakt. dat wil zeggen dat de telemetriegegevens naar de Application Insights-server worden verzonden.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
  • Standaard: 500Default: 500

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

FlushIntervalInSecondsFlushIntervalInSeconds

Bepaalt hoe vaak de gegevens die in de opslag in het geheugen zijn opgeslagen, moeten worden leeg gemaakt (verzonden naar 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
  • Standaard: 5Default: 5

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

MaxTransmissionStorageCapacityInMBMaxTransmissionStorageCapacityInMB

Bepaalt de maximale grootte in MB die wordt toegewezen aan de permanente opslag op de lokale schijf.Determines the maximum size in MB that is allotted to the persistent storage on the local disk. Deze opslag wordt gebruikt voor het persistent maken van telemetriegegevens van items die niet naar het Application Insights-eind punt konden worden verzonden.This storage is used for persisting telemetry items that failed to be transmitted to the Application Insights endpoint. Wanneer aan de opslag grootte is voldaan, worden nieuwe telemetriegegevens genegeerd.When the storage size has been met, new telemetry items will be discarded.

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

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

InstrumentationKeyInstrumentationKey

Hiermee bepaalt u de Application Insights resource waarin uw gegevens worden weer gegeven.This determines the Application Insights resource in which your data appears. Doorgaans maakt u een afzonderlijke resource, met een afzonderlijke sleutel, voor elk van uw toepassingen.Typically you create a separate resource, with a separate key, for each of your applications.

Als u de sleutel dynamisch wilt instellen, bijvoorbeeld als u de resultaten van uw toepassing naar verschillende resources wilt verzenden, kunt u de sleutel uit het configuratie bestand weglaten en in plaats daarvan instellen in de code.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.

De sleutel instellen voor alle exemplaren van TelemetryClient, met inbegrip van standaard-telemetrie-modules.To set the key for all instances of TelemetryClient, including standard Telemetry Modules. Doe dit in een initialisatie methode, zoals global.aspx.cs in een ASP.NET-service: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);
   

Als u alleen een specifieke set gebeurtenissen naar een andere resource wilt verzenden, kunt u de sleutel voor een specifieke TelemetryClient instellen: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");
    // ...

Als u een nieuwe sleutel wilt ophalen, maakt u een nieuwe resource in de Application Insights Portal.To get a new key, create a new resource in the Application Insights portal.

ApplicationId ProviderApplicationId Provider

Beschikbaar vanaf v 2.6.0Available starting in v2.6.0

Het doel van deze provider is om een toepassings-ID te zoeken op basis van een instrumentatie sleutel.The purpose of this provider is to lookup an Application ID based on an Instrumentation Key. De toepassings-ID is opgenomen in RequestTelemetry en DependencyTelemetry en wordt gebruikt om de correlatie in de portal te bepalen.The Application ID is included in RequestTelemetry and DependencyTelemetry and used to determine Correlation in the Portal.

Dit is beschikbaar door TelemetryConfiguration.ApplicationIdProvider in te stellen in code of in configuratie.This is available by setting TelemetryConfiguration.ApplicationIdProvider either in code or in config.

Interface: IApplicationIdProviderInterface: IApplicationIdProvider

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

We bieden twee implementaties in de micro soft. ApplicationInsights sdk: ApplicationInsightsApplicationIdProvider en DictionaryApplicationIdProvider.We provide two implementations in the Microsoft.ApplicationInsights sdk: ApplicationInsightsApplicationIdProvider and DictionaryApplicationIdProvider.

ApplicationInsightsApplicationIdProviderApplicationInsightsApplicationIdProvider

Dit is een wrapper rond onze profiel-API.This is a wrapper around our Profile API. Hiermee worden aanvragen en cache resultaten beperkt.It will throttle requests and cache results.

Deze provider wordt toegevoegd aan uw configuratie bestand wanneer u micro soft. ApplicationInsights. DependencyCollector of micro soft. ApplicationInsights. Web installeertThis provider is added to your config file when you install either Microsoft.ApplicationInsights.DependencyCollector or Microsoft.ApplicationInsights.Web

Deze klasse heeft een optionele eigenschap ProfileQueryEndpoint.This class has an optional property ProfileQueryEndpoint. Deze instelling is standaard ingesteld op https://dc.services.visualstudio.com/api/profiles/{0}/appId.By default this is set to https://dc.services.visualstudio.com/api/profiles/{0}/appId. Als u een proxy voor deze configuratie wilt configureren, is het raadzaam om het basis adres te adresseren en '/API/Profiles/{0}/appId ' toe te staan.If you need to configure a proxy for this configuration, we recommend proxying the base address and including "/api/profiles/{0}/appId". Houd er rekening mee dat{0}wordt vervangen tijdens runtime per aanvraag met de instrumentatie sleutel.Note that '{0}' is substituted at runtime per request with the Instrumentation Key.

Voorbeeld configuratie 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>

Voorbeeld configuratie via code:Example Configuration via code:

TelemetryConfiguration.Active.ApplicationIdProvider = new ApplicationInsightsApplicationIdProvider();

DictionaryApplicationIdProviderDictionaryApplicationIdProvider

Dit is een statische provider die afhankelijk is van uw geconfigureerde instrumentatie sleutel/toepassings-ID-paren.This is a static provider, which will rely on your configured Instrumentation Key / Application ID pairs.

Deze klasse heeft een eigenschap Defined, een woorden lijst < teken reeks, teken reeks > van instrumentatie sleutel tot toepassings-ID-paren.This class has a property Defined, which is a Dictionary<string,string> of Instrumentation Key to Application ID pairs.

Deze klasse heeft een optionele eigenschap Next die kan worden gebruikt voor het configureren van een andere provider voor gebruik wanneer een instrumentatie sleutel wordt aangevraagd die niet voor komt in uw configuratie.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.

Voorbeeld configuratie 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>

Voorbeeld configuratie via code:Example Configuration via code:

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

Volgende stappenNext steps

Meer informatie over de API.Learn more about the API.