Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Neste tutorial, utiliza a telemetria na sua aplicação ASP.NET Core para acompanhar avaliações de sinalizadores de funcionalidades e eventos personalizados. A telemetria permite-lhe tomar decisões informadas sobre a sua estratégia de gestão de funcionalidades. Utiliza uma indicação de funcionalidade com telemetria ativada, criada na secção de visão geral para ativar a telemetria para indicações de funcionalidade. Antes de prosseguir, certifique-se de criar um flag de funcionalidade chamado Greeting na sua loja de Configuração com a telemetria ativada. Este tutorial baseia-se no tutorial para usar flags de características variantes numa aplicação ASP.NET Core.
Pré-requisitos
- A flag de funcionalidades variante tem a telemetria ativada através de Ativar telemetria para flags de funcionalidades.
- A aplicação de Use variant feature flags numa aplicação ASP.NET Core.
Adicione telemetria à sua aplicação ASP.NET Core
Adicione a versão mais recente do pacote Application Insights.
dotnet add package Microsoft.ApplicationInsights.AspNetCore dotnet add package Microsoft.FeatureManagement.Telemetry.ApplicationInsightsAdicione serviços de telemetria Application Insights ao contentor. Adicione o seguinte código após a linha que adiciona a Configuração de Aplicações Azure.
// Add Application Insights telemetry builder.Services.AddApplicationInsightsTelemetry(options => { options.ConnectionString = builder.Configuration.GetConnectionString("ApplicationInsights"); });Atualize os serviços de gestão de funcionalidades para permitir a publicação de telemetria. Modificar a configuração existente de gestão de funcionalidades para incluir a chamada
AddApplicationInsightsTelemetry().// Add Azure App Configuration and feature management services to the container. builder.Services.AddAzureAppConfiguration() .AddFeatureManagement() .WithTargeting() .AddApplicationInsightsTelemetry();Adicione o middleware de targeting para associar eventos de saída ao ID de direcionamento. Adicione o seguinte código após a linha
app.UseAzureAppConfiguration();.// Use targeting middleware to associate events with the targeting ID app.UseMiddleware<TargetingHttpContextMiddleware>();
Acompanhar eventos personalizados
Agora vais adicionar um evento personalizado para acompanhar quando os utilizadores gostarem de uma citação. Vais criar um endpoint backend para gerir a ação de gostar e acompanhá-la usando o Application Insights.
Em Index.cshtml.cs, adicione uma declaração using para a Application Insights.
using Microsoft.ApplicationInsights;Ajuste o
IndexModelpara obter umTelemetryClient.public class IndexModel( TelemetryClient telemetry, ILogger<IndexModel> logger, IVariantFeatureManagerSnapshot featureManager ) : PageModel { private readonly TelemetryClient _telemetry = telemetry;Além disso, adicione uma função OnPostLike(), que regista um evento denominado "Gosto" quando o endpoint é utilizado.
public IActionResult OnPostLike() { _telemetry.TrackEvent("Liked"); return new JsonResult(new { success = true }); }No Index.cshtml, adicione um token anti-falsificação antes da tag de script.
<form method="post" style="display:none;"> @Html.AntiForgeryToken() </form> <script> ...Ajuste a função heartClicked com o seguinte conteúdo.
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'); } } }O
OnPostLikemétodo trata da mesma ação. UtilizaTelemetryClientpara acompanhar um evento personalizado de "Gostar" quando um utilizador clica no botão de coração.
Criar e executar o aplicativo
A Application Insights requer uma string de conexão para se conectar ao seu recurso do Application Insights. Defina o
ConnectionStrings:ApplicationInsightscomo um segredo de utilizador.dotnet user-secrets set ConnectionStrings:ApplicationInsights "<your-Application-Insights-Connection-String>"Depois de definires a variável de ambiente, reinicia o terminal, reconstrói e executa a aplicação.
dotnet build dotnet run
Recolha de telemetria
Implemente a sua aplicação para começar a recolher telemetria dos seus utilizadores. Para testar a sua funcionalidade, pode simular a atividade do utilizador criando muitos utilizadores de teste. Cada utilizador irá experienciar uma das variantes da mensagem de saudação e poderá interagir com a aplicação clicando no botão coração para gostar de uma citação. À medida que a sua base de utilizadores cresce, pode monitorizar o volume crescente de dados de telemetria recolhidos no Azure App Configuration. Além disso, pode aprofundar os dados para analisar como cada variante do flag de funcionalidade influencia o comportamento do utilizador.
Recursos adicionais
- Exemplo de citação do dia
- Para o resumo completo das funcionalidades da biblioteca de gestão de funcionalidades do .NET, consulte a documentação de referência da Gestão de Funcionalidades do .NET.