Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In questa esercitazione, verranno utilizzati i dati di telemetria nell'applicazione ASP.NET Core per tenere traccia delle valutazioni dei flag di funzionalità e degli eventi personalizzati. La telemetria consente di prendere decisioni informate sulla strategia di gestione delle funzionalità. Il flag di funzionalità viene utilizzato con i dati di telemetria abilitati creati nella panoramica per abilitare i dati di telemetria per i flag di funzionalità. Prima di procedere, assicurarsi di creare un feature flag denominato Greeting nell'archivio di configurazione con i dati di telemetria abilitati. Questa esercitazione si basa sull'esercitazione per l'uso di flag di funzionalità varianti in un'applicazione ASP.NET Core.
Prerequisiti
- Flag di funzionalità varianti con i dati di telemetria abilitati in Abilitare i dati di telemetria per i flag di funzionalità.
- Applicazione da Usare flag di funzionalità varianti in un'applicazione ASP.NET Core.
Aggiungere dati di telemetria all'applicazione ASP.NET Core
Aggiungere la versione più recente del pacchetto di Application Insights.
dotnet add package Microsoft.ApplicationInsights.AspNetCore dotnet add package Microsoft.FeatureManagement.Telemetry.ApplicationInsightsAggiungere servizi di telemetria di Application Insights al contenitore. Aggiungere il codice seguente dopo la riga che aggiunge Azure App Configuration.
// Add Application Insights telemetry builder.Services.AddApplicationInsightsTelemetry(options => { options.ConnectionString = builder.Configuration.GetConnectionString("ApplicationInsights"); });Aggiornare i servizi di gestione delle funzionalità per abilitare la pubblicazione dei dati di telemetria. Modificare la configurazione di gestione delle funzionalità esistente per includere la
AddApplicationInsightsTelemetry()chiamata.// Add Azure App Configuration and feature management services to the container. builder.Services.AddAzureAppConfiguration() .AddFeatureManagement() .WithTargeting() .AddApplicationInsightsTelemetry();Aggiungere il middleware di destinazione per associare gli eventi in uscita all'ID di destinazione. Aggiungere il codice seguente dopo la riga
app.UseAzureAppConfiguration();.// Use targeting middleware to associate events with the targeting ID app.UseMiddleware<TargetingHttpContextMiddleware>();
Tenere traccia degli eventi personalizzati
A questo punto si aggiungerà un evento personalizzato per tenere traccia quando gli utenti mettono mi piace a una citazione. Crea un endpoint backend per gestire l'azione di like e tracciarla usando Application Insights.
In Index.cshtml.cs, aggiungere un'istruzione using per Application Insights.
using Microsoft.ApplicationInsights;Regolare il
IndexModelper ottenere unTelemetryClient.public class IndexModel( TelemetryClient telemetry, ILogger<IndexModel> logger, IVariantFeatureManagerSnapshot featureManager ) : PageModel { private readonly TelemetryClient _telemetry = telemetry;Aggiungere inoltre una funzione OnPostLike(), tenendo traccia di un evento denominato "Liked" quando viene usato l'endpoint.
public IActionResult OnPostLike() { _telemetry.TrackEvent("Liked"); return new JsonResult(new { success = true }); }In Index.cshtml, aggiungere un antiforgerytoken prima del tag script.
<form method="post" style="display:none;"> @Html.AntiForgeryToken() </form> <script> ...Regolare la funzione heartClicked con il contenuto seguente.
async function heartClicked(button) { const response = await fetch(`?handler=Like`, { method: "POST" }); if (response.ok) { const data = await response.json(); if (data.success) { var icon = button.querySelector('i'); icon.classList.toggle('far'); icon.classList.toggle('fas'); } } }Il metodo
OnPostLikegestisce l'azione "like". Utilizza ilTelemetryClientper tenere traccia di un evento personalizzato "Mi è piaciuto" quando un utente fa clic sul pulsante a forma di cuore.
Compilare ed eseguire l'app
Application Insights richiede una stringa di connessione per connettersi alla risorsa di Application Insights. Impostare
ConnectionStrings:ApplicationInsightscome segreto utente.dotnet user-secrets set ConnectionStrings:ApplicationInsights "<your-Application-Insights-Connection-String>"Dopo aver impostato la variabile di ambiente, riavviare il terminale e ricompilare ed eseguire l'applicazione.
dotnet build dotnet run
Raccogliere i dati di telemetria
Distribuire l'applicazione per iniziare a raccogliere dati di telemetria dagli utenti. Per testare la funzionalità, è possibile simulare l'attività utente creando molti utenti di test. Ogni utente visualizzerà una delle varianti del messaggio di saluto e potrà interagire con l'applicazione cliccando sul pulsante a forma di cuore per mettere 'mi piace' a una citazione. Man mano che la base utente cresce, è possibile monitorare il volume crescente di dati di telemetria raccolti in Configurazione app di Azure. È anche possibile eseguire il drill-down dei dati per analizzare il modo in cui ogni variante del flag di funzionalità influisce sul comportamento dell'utente.
Risorse aggiuntive
- Esempio di citazione del giorno
- Per una panoramica completa delle funzionalità della libreria di gestione delle funzioni .NET, vedere la documentazione di riferimento di Gestione funzionalità .NET.