Application Insights per ASP.NET CoreApplication Insights for ASP.NET Core

Azure Application Insights offre funzionalità di monitoraggio avanzate dell'applicazione Web fino al livello di codice.Azure Application Insights provides in-depth monitoring of your web application down to the code level. È possibile monitorare con facilità la disponibilità, le prestazioni e l'utilizzo dell'applicazione Web.You can easily monitor your web application for availability, performance, and usage. È anche possibile identificare e diagnosticare rapidamente gli errori nell'applicazione senza attendere che vengano segnalati da un utente.You can also quickly identify and diagnose errors in your application without waiting for a user to report them.

Questo articolo illustra in modo dettagliato i passaggi necessari per creare un'applicazione Razor Pages di ASP.NET Core di esempio in Visual Studio e per avviare il monitoraggio con Azure Application Insights.This article walks you through creating a sample ASP.NET Core Razor Pages application in Visual Studio, and how to start monitoring with Azure Application Insights.

prerequisitiPrerequisites

  • NET Core 2.0.0 SDK o versione successiva.NET Core 2.0.0 SDK or later.
  • Visual Studio 2017 versione 15.7.3 o versioni successive con carico di lavoro Sviluppo ASP.NET e Web.Visual Studio 2017 version 15.7.3 or later with the ASP.NET and web development workload.

Creare un progetto di ASP.NET Core in Visual StudioCreate an ASP.NET Core project in Visual Studio

  1. Fare clic con il pulsante destro del mouse e avviare Visual Studio 2017 come amministratore.Right-click and Launch Visual Studio 2017 as administrator.
  2. Selezionare File > Nuovo > Progetto (CTRL-MAIUSC-N).Select File > New > Project (Ctrl-Shift-N).

    Screenshot del menu File > Nuovo > Progetto di Visual Studio

  3. Espandere Visual C# e selezionare .NET Core > Applicazione Web ASP.NET Core.Expand Visual C# > Select .NET Core > ASP.NET Core Web Application. Immettere un nome nelle caselle Nome > Nome soluzione e selezionare Crea nuovo repository Git.Enter a Name > Solution name > Check Create new Git repository.

    Screenshot della procedura guidata File > Nuovo > Progetto di Visual Studio

  4. Selezionare .NET Core > Applicazione Web ASP.NET Core 2.0 > OK.Select .Net Core > ASP.NET Core 2.0 Web Application > OK.

    Screenshot del menu di selezione File > Nuovo > Progetto di Visual Studio

Per impostazione predefinita in Visual Studio versione 2015 Update 2 o versioni successive con un ASP.NET Core 2 + basato su progetto è possibile sfruttare ricerca di Application Insights anche prima del completamento in modo esplicito aggiungere Application Insights al progetto.By default in Visual Studio version 2015 Update 2 or greater with an ASP.NET Core 2+ based project you can take advantage of Application Insights search even before you explicitly add Application Insights to your project.

Per provare questa funzionalità:To test out this functionality:

  1. Eseguire l'app facendo clic su IIS Express.Run your app by clicking IIS Express Screenshot dell'icona IIS Express di Visual Studio

  2. Selezionare Visualizzazione > Altre finestre > Ricerca in Application Insights.Select View > Other Windows > Application Insights search.

    Screenshot degli Strumenti di diagnostica di Visual Studio

  3. I dati di telemetria della sessione di debug sono attualmente disponibili solo per l'analisi locale.The debug session telemetry is currently available for local analysis only. Per abilitare completamente Application Insights, selezionare Idoneità telemetria in alto a destra o seguire la procedura nella sezione successiva.To fully enable Application Insights, select Telemetry Readiness in the upper right, or follow the steps in the next section.

    Screenshot di ricerca di Application Insights in Visual Studio

Nota

Per altre informazioni su come Visual Studio illumina localmente funzionalità come Ricerca di Application Insights e CodeLens prima di aver aggiunto Application Insights al progetto ASP.NET Core, consultare la spiegazione alla fine di questo articolo.To learn more about how Visual Studio lights up features like Application Insights Search and CodeLens locally before you have added Application Insights to your ASP.NET Core project check out the explanation at the end of this article.

Aggiungere Application Insights TelemetryAdd Application Insights Telemetry

  1. Selezionare Progetto > Aggiungi Application Insights Telemetry. (Oppure è possibile fare clic con il pulsante destro del mouse su Servizi connessi e selezionare Aggiungi servizio connesso.)Select Project > Add Application Insights Telemetry.... (Or you can right-click Connected Services and select Add Connected Service.)

    Screenshot del menu di selezione File > Nuovo > Progetto di Visual Studio

  2. Selezionare Attività iniziali.Select Get Started. (A seconda della versione di Visual Studio il testo può variare leggermente.(Depending on your version of Visual Studio the text may vary slightly. Alcune versioni meno recenti sono, invece, dotate di un pulsante Inizia gratis.)Some older versions instead, have a Start Free button.)

    Screenshot del menu di selezione File > Nuovo > Progetto di Visual Studio

  3. Scegliere una Sottoscrizione > Risorsa > Registro. appropriata.Select an appropriate Subscription > Resource > Register.

Modifiche apportate al progettoChanges Made to your project

Application Insights ha un impatto ridotto sulle prestazioni.Application Insights is low overhead. Per esaminare le modifiche apportate al progetto con l'aggiunta di dati di telemetria di Application Insights:To review the modifications made to your project by adding Application Insights telemetry:

Selezionare Visualizza > Team Explorer (CTRL+, CTRL+M) > Progetto > ModificheSelect View > Team Explorer (Ctrl+, Ctrl+M) > Project > Changes

  • Quattro modifiche in totale:Four changes total:

    Screenshot dei file modificati con l'aggiunta di Application Insights

  • Viene creato un nuovo file:One new file is created:

    ConnectedService.jsonConnectedService.json

{
  "ProviderId": "Microsoft.ApplicationInsights.ConnectedService.ConnectedServiceProvider",
  "Version": "8.12.10405.1",
  "GettingStartedDocument": {
    "Uri": "https://go.microsoft.com/fwlink/?LinkID=798432"
  }
}
  • Vengono modificati tre file: (Commenti aggiuntivi aggiunti per evidenziare le modifiche)Three files are modified: (Additional comments added to highlight changes)

    appsettings.jsonappsettings.json

{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Warning"
    }
  },
// Changes to file post adding Application Insights Telemetry:
  "ApplicationInsights": {
    "InstrumentationKey": "10101010-1010-1010-1010-101010101010"
  }
}
//

ContosoDotNetCore.csprojContosoDotNetCore.csproj

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
 <!--Changes to file post adding Application Insights Telemetry:-->
    <ApplicationInsightsResourceId>/subscriptions/2546c5a9-fa20-4de1-9f4a-62818b14b8aa/resourcegroups/Default-ApplicationInsights-EastUS/providers/microsoft.insights/components/DotNetCore</ApplicationInsightsResourceId>
    <ApplicationInsightsAnnotationResourceId>/subscriptions/2546c5a9-fa20-4de1-9f4a-62818b14b8aa/resourcegroups/Default-ApplicationInsights-EastUS/providers/microsoft.insights/components/DotNetCore</ApplicationInsightsAnnotationResourceId>
<!---->
  </PropertyGroup>
  <ItemGroup>
 <!--Changes to file post adding Application Insights Telemetry:-->
    <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.1.1" />
<!---->
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.8" />
  </ItemGroup>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.4" />
  </ItemGroup>
<!--Changes to file post adding Application Insights Telemetry:-->
  <ItemGroup>
    <WCFMetadata Include="Connected Services" />
  </ItemGroup>
<!---->
</Project>

Program.csProgram.cs

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;

namespace DotNetCore
{
    public class Program
    {
        public static void Main(string[] args)
        {
            BuildWebHost(args).Run();
        }

        public static IWebHost BuildWebHost(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
// Change to file post adding Application Insights Telemetry:
                .UseApplicationInsights()
//
                .UseStartup<Startup>()
                .Build();
    }
}

Transazioni sintetiche con PowerShellSynthetic transactions with PowerShell

Per automatizzare le richieste nei confronti dell'app con le transazioni sintetiche.To automate requests against your app with synthetic transactions.

  1. Eseguire l'app facendo clic su IIS Express.Run your app by clicking IIS Express Screenshot dell'icona IIS Express di Visual Studio

  2. Copiare l'URL dalla barra degli indirizzi del browser.Copy the url from the browser address bar. È nel formato http://localhost:{random numero di porta}It is in the format http://localhost:{random port number}

    Screenshot della barra degli indirizzi URL del browser

  3. Eseguire il ciclo di PowerShell seguente per creare 100 transazioni sintetiche per l'app di test.Run the following PowerShell loop to create 100 synthetic transactions against your test app. Modificare il numero di porta dopo localhost: in modo che corrisponda all'URL copiato nel passaggio precedente.Modify the port number after localhost: to match the url you copied in the previous step.

    for ($i = 0 ; $i -lt 100; $i++)
    {
     Invoke-WebRequest -uri http://localhost:50984/
    }
    

Aprire il portale Application InsightsOpen Application Insights Portal

Dopo aver eseguito PowerShell nella sezione precedente, avviare Application Insights per visualizzare le transazioni e confermare che i dati vengono raccolti.After running the PowerShell from the previous section, launch Application Insights to view the transactions and confirm that data is being collected.

Nel menu di Visual Studio selezionare Progetto > Application Insights > Apri portale Application Insights.From the Visual Studio menu, select Project > Application Insights > Open Application Insights Portal

Screenshot della pagina Panoramica di Application Insights

Nota

Nello screenshot di esempio precedente Live Stream, Tempo di caricamento della visualizzazione pagina e Richieste non riuscite non vengono attualmente raccolti.In the example screenshot above Live Stream, Page View Load Time, and Failed Requests are currently not collected. La prossima sezione illustrerà in modo dettagliato i passaggi necessari per aggiungere ognuna di queste funzionalità.The next section will walk through adding each. Se Live Stream e Tempo di caricamento della visualizzazione pagina vengono già raccolti, seguire la procedura solo per Richieste non riuscite.If you are already collecting Live Stream, and Page View Load Time, then only follow the steps for Failed Requests.

Raccogliere Richieste non riuscite, Live Stream e Tempo di caricamento della visualizzazione paginaCollect Failed Requests, Live Stream, & Page View Load Time

Richieste non riusciteFailed Requests

Tecnicamente i dati di Richieste non riuscite vengono raccolti, ma non si sono ancora verificati eventi di questo tipo.Technically Failed Requests are being collected, but none have occurred yet. Per accelerare il processo, è possibile aggiungere un'eccezione personalizzata al progetto esistente per simulare un'eccezione reale.To speed the process along a custom exception can be added to the existing project to simulate a real-world exception. Se l'app è ancora in esecuzione in Visual Studio, prima di procedere fare clic su Termina debug (MAIUSC+F5).If your app is still running in Visual Studio before proceeding Stop Debugging (Shift+F5)

  1. In Esplora soluzioni espandere Pagine > About.cshtml e aprire About.cshtml.cs.In Solution Explorer > expand Pages > About.cshtml > open About.cshtml.cs.

    Screenshot di Esplora soluzioni di Visual Studio

  2. Aggiungere un'eccezione in Message= e salvare le modifiche nel file.Add an Exception under Message= and save the change to the file.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    using Microsoft.AspNetCore.Mvc.RazorPages;
    
    namespace DotNetCore.Pages
    {
        public class AboutModel : PageModel
        {
            public string Message { get; set; }
    
            public void OnGet()
            {
                Message = "Your application description page.";
                throw new Exception("Test Exception");
            }
        }
    }
    

Live StreamLive Stream

Per accedere alla funzionalità Live Stream di Application Insights con ASP.NET Core eseguire l'aggiornamento ai pacchetti NuGet Microsoft.ApplicationInsights.AspNetCore 2.2.0.To access the Live Stream functionality of Application Insights with ASP.NET Core update to the Microsoft.ApplicationInsights.AspNetCore 2.2.0 NuGet packages.

In Visual Studio selezionare Progetto > Gestisci pacchetti NuGet > Microsoft.ApplicationInsights.AspNetCore > Versione 2.2.0 > Aggiorna.From Visual Studio, select Project > Manage NuGet Packages > Microsoft.ApplicationInsights.AspNetCore > Version 2.2.0 > Update.

Screenshot di Gestione pacchetti NuGet

Si verificano più richieste di conferma.Multiple confirmation prompts will occur. Leggere e accettare se si accettano le modifiche.Read and accept if you agree with the changes.

Tempo di caricamento della visualizzazione paginaPage View Load Time

  1. In Visual Studio passare a Esplora soluzioni > Pagine, dove sarà necessario modificare due file: Layout.cshtml e ViewImports.cshtml.In Visual Studio navigate to Solution Explorer > Pages > two files will need to be modified: Layout.cshtml, and ViewImports.cshtml

  2. In _ViewImports.cshtml aggiungere il codice seguente:In _ViewImports.cshtml, add:

    @using Microsoft.ApplicationInsights.AspNetCore
    @inject JavaScriptSnippet snippet
    
  3. In _Layout.cshtml aggiungere la riga riportata di seguito davanti al tag </head>, ma anche prima di tutti gli altri script.In _Layout.cshtml add the line below before the </head> tag, but also prior to any other scripts.

    @Html.Raw(snippet.FullScript)
    

Testare Richieste non riuscite, Tempo di caricamento della visualizzazione pagina e Live StreamTest Failed Requests, Page View Load Time, Live Stream

Per eseguire il test e verificare che tutto funzioni:To test out and confirm that everything is working:

  1. Eseguire l'app facendo clic su IIS Express.Run your app by clicking IIS Express Screenshot dell'icona IIS Express di Visual Studio

  2. Passare alla pagina Informazioni su per attivare l'eccezione di test.Navigate to the About page to trigger the test exception. Se l'esecuzione avviene in modalità debug, sarà necessario fare clic su Continua in Visual Studio per consentire di visualizzare l'eccezione in Application Insights.)(If you are running in Debug mode, you will need to click Continue in Visual Studio for the exception to show up in Application Insights.)

  3. Eseguire nuovamente lo script di transazione simulato di PowerShell illustrato in precedenza. Potrebbe essere necessario modificare il numero di porta nello script.Rerun the simulated PowerShell transaction script from earlier (You may need to adjust the port number in the script.)

  4. Se la pagina Panoramica di Application Insights non è ancora aperta, selezionare Progetto > Application Insights > Apri portale Application Insights nel menu di Visual Studio.If the Applications Insights Overview is not still open, from Visual Studio menu select Project > Application Insights > Open Application Insights Portal.

    Suggerimento

    Se il nuovo traffico non è ancora visibile, controllare Intervallo di tempo e fare clic su Aggiorna.If you aren't seeing your new traffic yet, check the Time range and click Refresh.

    Screenshot della finestra Panoramica

  5. Selezionare Live Stream.Select Live Stream

    Screenshot di Live Metrics Stream

    Se lo script di PowerShell è ancora in esecuzione, dovrebbero essere visualizzate le metriche attive. Se lo script è stato arrestato, eseguirlo nuovamente con Live Stream aperto.(If your PowerShell script is still running you should see live metrics, if it has stopped run the script again with Live Stream open.)

Confronto tra SDK di Application InsightsApp Insights SDK Comparison

Il gruppo di prodotti Application Insights è stato appositamente studiato per ridurre le differenze di funzionalità tra .NET Framework SDK completo e .NET Core SDK.The Application Insights product group has been working hard to achieve feature parity between the full .NET Framework SDK and the .Net Core SDK. Con la versione 2.2.0 di ASP.NET Core SDK per Application Insights il gap di funzionalità è stato ampiamente colmato.The 2.2.0 release of the ASP.NET Core SDK for Application Insights has largely closed the feature gap.

Di seguito è riportata una tabella per comprendere meglio le differenze esistenti e i compromessi raggiunti tra .NET e .NET Core.To understand more about the differences and tradeoffs between .NET and .NET Core.

Confronto tra SDKSDK Comparison ASP.NETASP.NET ASP.NET Core 2.1.0ASP.NET Core 2.1.0 ASP.NET Core 2.2.0ASP.NET Core 2.2.0
Metriche attiveLive Metrics + - +
Canale di telemetria serverServer Telemetry Channel + - +
Campionamento adattivoAdaptive Sampling + - +
Chiamate alle dipendenze SQLSQL Dependency Calls + - +
Contatori delle prestazioni*Performance Counters* + - -

In questo contesto il termine contatori delle prestazioni si riferisce ai contatori delle prestazioni lato server, ad esempio il processore, la memoria e l'utilizzo dischi.Performance Counters in this context refers to server-side performance counters like processor, memory, and disk utilization.

SDK open sourceOpen-source SDK

Leggere e contribuire al codiceRead and contribute to the code

Ricerche di Application Insights continuateApplication Insights search continued

Per comprendere meglio come la ricerca di Application Insights funziona in Visual Studio per un progetto ASP.NET Core 2 anche quando non è ancora avvenuta un'installazione esplicita dei pacchetti NuGet di Application Insights.To better understand how Application Insights search works in Visual Studio for an ASP.NET Core 2 project even when an explicit install of the Application Insights NuGet packages haven't happened yet. Può essere utile esaminare l'Output di Debug.It can be helpful to examine the Debug Output.

Se si esegue la ricerca dell'output per la parola insight verranno evidenziati risultati simili al seguente:If you search the output for the word insight it will highlight results similar to the following:

'dotnet.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\store\x64\netcoreapp2.0\microsoft.aspnetcore.applicationinsights.hostingstartup\2.0.3\lib\netcoreapp2.0\Microsoft.AspNetCore.ApplicationInsights.HostingStartup.dll'.
'dotnet.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\store\x64\netcoreapp2.0\microsoft.applicationinsights.aspnetcore\2.1.1\lib\netstandard1.6\Microsoft.ApplicationInsights.AspNetCore.dll'.

Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2018-06-03T17:32:38.2796801Z","tags":{"ai.location.ip":"127.0.0.1","ai.operation.name":"DEBUG /","ai.internal.sdkVersion":"aspnet5c:2.1.1","ai.application.ver":"1.0.0.0","ai.cloud.roleInstance":"CONTOSO-SERVER","ai.operation.id":"de85878e-4618b05bad11b5a6","ai.internal.nodeName":"CONTOSO-SERVER","ai.operation.parentId":"|de85878e-4618b05bad11b5a6."},"data":{"baseType":"MessageData","baseData":{"ver":2,"message":"Request starting HTTP/1.1 DEBUG http://localhost:53022/  0","severityLevel":"Information","properties":{"AspNetCoreEnvironment":"Development","Protocol":"HTTP/1.1","CategoryName":"Microsoft.AspNetCore.Hosting.Internal.WebHost","Host":"localhost:53022","Path":"/","Scheme":"http","ContentLength":"0","DeveloperMode":"true","Method":"DEBUG"}}}}

CoreCLR sta caricando due assembly:CoreCLR is loading two assemblies:

  • Microsoft.AspNetCore.ApplicationInsights.HostingStartup.dllMicrosoft.AspNetCore.ApplicationInsights.HostingStartup.dll
  • Microsoft.ApplicationInsights.AspNetCore.dll.Microsoft.ApplicationInsights.AspNetCore.dll.

E la voce annullata in ogni istanza di telemetria di Application Insights indica che questa applicazione non è associata a un ikey, pertanto i dati che vengono generati durante l'esecuzione dell'app non sono inviati ad Azure e sono disponibili solo per l'analisi e la ricerca locali.And the unconfigured in each instance of Application Insights telemetry indicates that this application isn't associated with an ikey so the data that is generated while your app is running isn't being sent to Azure and is only available for local search and analysis.

In parte ciò è possibile perché il pacchetto NuGet Microsoft.AspNetCore.All accetta come una dipendenza Microsoft.ASPNetCoreApplicationInsights.HostingStartupPart of how this is possible is that the NuGet package Microsoft.AspNetCore.All takes as a dependency Microsoft.ASPNetCoreApplicationInsights.HostingStartup

Screenshot del Grafico di dipendenza di NuGet per Microsoft.AspNETCore.all

All'esterno di Visual Studio se si stava modificando un progetto ASP.NET Core in VSCode o un altro editor, questi assembly non caricherebbero automaticamente durante il debug se in modo esplicito non è stato aggiuntoApplication Insights al progetto.Outside of Visual Studio if you were editing a ASP.NET Core project in VSCode or some other editor these assemblies wouldn't automatically load during debug if you haven't explicitly added Application Insights to your project.

Tuttavia, in Visual Studio l'illuminazione backup delle funzionalità di Application Insights locale da assembly esterni avviene tramite l'utilizzo dell'interfaccia IHostingStartup che aggiunge dinamicamente Application Insights durante il debug.However, in Visual Studio this lighting up of local Application Insights features from external assemblies is accomplished via use of the IHostingStartup Interface which dynamically adds Application Insights during debug.

Per altre informazioni su come migliorare un'app da un assembly esterno in ASP.NET Core con IHostingStartup.To learn more about enhancing an app from an external assembly in ASP.NET Core with IHostingStartup.

Come disabilitare Application Insights nei progetti di Visual Studio .NET CoreHow to disable Application Insights in Visual Studio .NET Core projects

Mentre l'illuminatore automatico accende la funzionalità di ricerca di Application Insights, può essere utile per alcuni vedere dati di telemetria di debug generati quando non ci si aspettava che sarebbe stato poco chiaro.While the automatic light up of Application Insights search functionality can be useful to some, seeing debug telemetry generated when you weren't expecting it can be confusing.

Se la sola disabilitazione della generazione dati di telemetria è sufficiente è possibile aggiungere questo blocco di codice al metodo di configurazione del file Startup.cs:If just disabling telemetry generation is sufficient you can add this code block to the Configure method of your Startup.cs file:

  var configuration = app.ApplicationServices.GetService<Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration>();
            configuration.DisableTelemetry = true;
            if (env.IsDevelopment())

Il CoreCLR caricherà ancorà Microsoft.AspNetCore.ApplicationInsights.HostingStartup.dll e Microsoft.ApplicationInsights.AspNetCore.dll, ma non eseguono alcuna azione.The CoreCLR will still load Microsoft.AspNetCore.ApplicationInsights.HostingStartup.dll and Microsoft.ApplicationInsights.AspNetCore.dll, but they won't do anything.

Se si desidera disabilitare completamente Application Insights nel progetto di Visual Studio .NET Core, il metodo preferito consiste nel selezionare Strumenti > Opzioni > Progetti e soluzioni > Progetti Web > e selezionare la casella per disabilitare Application Insights locale per i progetti web ASP.NET Core.If you want to completely disable Application Insights in your Visual Studio .NET Core project, the preferred method is to select Tools > Options > Projects and Solutions > Web Projects > and check the box to disable local Application Insights for ASP.NET Core web projects. Questa funzionalità è stata aggiunta in Visual Studio 15,6.This functionality was added in Visual Studio 15.6.

Screenshot della schermata del progetti web della finestra di opzioni di Visual Studio

Se si esegue una versione precedente di Visual Studio e si desidera rimuovere completamente tutti gli assembly caricati tramite IHostingStartup è possibile aggiungere:If you are running an earlier version of Visual Studio, and you want to completely remove all assemblies loaded via IHostingStartup you can either add:

.UseSetting(WebHostDefaults.PreventHostingStartupKey, "true")

a Program.cs:to Program.cs:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;

namespace DotNetCore
{
    public class Program
    {
        public static void Main(string[] args)
        {
            BuildWebHost(args).Run();
        }

        public static IWebHost BuildWebHost(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseSetting(WebHostDefaults.PreventHostingStartupKey, "true")
                .UseStartup<Startup>()
                .Build();
    }
}

Oppure in alternativa è possibile aggiungere "ASPNETCORE_preventHostingStartup": "True" alle variabili di ambiente launchSettings.json.Or alternatively you could add "ASPNETCORE_preventHostingStartup": "True" to launchSettings.json environment variables.

Il problema con l'uso di uno di questi metodi è che non disattiva solo Application Insights, disabiliterà tutto ciò che stava sfruttando la funzionalità della luce di IHostingStartup in Visual Studio.The issue with using either of these methods is it won't just disable Application Insights it will disable anything in Visual Studio that was leveraging the IHostingStartup light up functionality.

VideoVideo

Passaggi successiviNext steps