Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tutorial, usas la telemetría en tu aplicación ASP.NET Core para realizar un seguimiento de las evaluaciones de banderas de funcionalidades y eventos personalizados. La telemetría permite tomar decisiones fundamentadas sobre la estrategia de administración de funcionalidades. Se utiliza la bandera de función con telemetría habilitada, creada en la visión general para habilitar la telemetría para las banderas de función. Antes de continuar, asegúrese de crear una bandera de funcionalidad denominada Greeting en el almacén de configuración con telemetría habilitada. Este tutorial se basa en el tutorial para usar marcas de características variantes en una aplicación ASP.NET Core.
Prerrequisitos
- La marca de características variante con telemetría habilitada en Habilitar telemetría para las marcas de características.
- La aplicación de Usar marcas de características variantes en una aplicación ASP.NET Core.
Incorporación de telemetría a la aplicación ASP.NET Core
Agregue la versión más reciente del paquete de Application Insights.
dotnet add package Microsoft.ApplicationInsights.AspNetCore dotnet add package Microsoft.FeatureManagement.Telemetry.ApplicationInsightsAgregue los servicios de telemetría de Application Insights al contenedor. Agregue el código siguiente después de la línea que agrega Azure App Configuration.
// Add Application Insights telemetry builder.Services.AddApplicationInsightsTelemetry(options => { options.ConnectionString = builder.Configuration.GetConnectionString("ApplicationInsights"); });Actualice los servicios de administración de características para habilitar la publicación de telemetría. Modifique la configuración existente de gestión de funciones para incluir la llamada
AddApplicationInsightsTelemetry().// Add Azure App Configuration and feature management services to the container. builder.Services.AddAzureAppConfiguration() .AddFeatureManagement() .WithTargeting() .AddApplicationInsightsTelemetry();Agregue el middleware de direccionamiento para asociar eventos salientes con el ID de direccionamiento. Agregue el código siguiente después de la línea
app.UseAzureAppConfiguration();.// Use targeting middleware to associate events with the targeting ID app.UseMiddleware<TargetingHttpContextMiddleware>();
Seguimiento de eventos personalizados
Ahora agregarás un evento personalizado para realizar un seguimiento de cuando a los usuarios les gusta una cita. Creará un punto de conexión del back-end para gestionar la acción de "me gusta" y realizar un seguimiento con Application Insights.
En Index.cshtml.cs, agregue una instrucción using para Application Insights.
using Microsoft.ApplicationInsights;Ajuste el
IndexModelpara obtener unTelemetryClient.public class IndexModel( TelemetryClient telemetry, ILogger<IndexModel> logger, IVariantFeatureManagerSnapshot featureManager ) : PageModel { private readonly TelemetryClient _telemetry = telemetry;Además, agregue una función OnPostLike(), que realice un seguimiento de un evento denominado "Liked" cuando se utiliza el endpoint.
public IActionResult OnPostLike() { _telemetry.TrackEvent("Liked"); return new JsonResult(new { success = true }); }En Index.cshtml, agregue un token de anti falsificación antes de la etiqueta de script.
<form method="post" style="display:none;"> @Html.AntiForgeryToken() </form> <script> ...Modifica la función heartClicked con el siguiente contenido.
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'); } } }El método
OnPostLikecontrola la acción "me gusta". UsaTelemetryClientpara realizar un seguimiento del evento personalizado "Me gusta" cuando un usuario hace clic en el botón de corazón.
Compile y ejecute la aplicación.
Application Insights requiere una cadena de conexión para conectarse al recurso de Application Insights. Establezca
ConnectionStrings:ApplicationInsightscomo un secreto de usuario.dotnet user-secrets set ConnectionStrings:ApplicationInsights "<your-Application-Insights-Connection-String>"Después de establecer la variable de entorno, reinicie el terminal y vuelva a generar y ejecute la aplicación.
dotnet build dotnet run
Recopilación de telemetría
Implemente la aplicación para empezar a recopilar datos de telemetría de los usuarios. Para probar su funcionalidad, puede simular la actividad del usuario mediante la creación de muchos usuarios de prueba. Cada usuario experimentará una de las variantes del mensaje de saludo y podrá interactuar con la aplicación haciendo clic en el botón corazón para que le guste una cita. A medida que crece la base de usuarios, puede supervisar el volumen creciente de datos de telemetría recopilados en Azure App Configuration. Además, puede explorar en profundidad los datos para analizar cómo cada variante de la marca de características influye en el comportamiento del usuario.
Recursos adicionales
- Cita del día
- Para obtener la lista completa de características de la biblioteca de administración de características de .NET, consulte la documentación de referencia de Administración de características de .NET.