Gestión de cookies de información de aplicaciones

Me pregunto cómo funcionan las estadísticas de las aplicaciones con las cookies porque me gustaría comprender el seguimiento de usuarios y sesiones, así que he estado investigando y ...

Aquí hay una breve introducción sobre la teoría:

Siempre que el SDK de Application Insights reciba una solicitud que no tenga una cookie de seguimiento de usuario de información de la aplicación (establecida por el fragmento JS de Application Insights), establecerá esta cookie y comenzará una nueva sesión. (deconsejos )

2)

UserTelemetryInitializer actualiza elCarné de identidad yFecha de Adquisición propiedades deUsuario contexto para todos los elementos de telemetría con valores extraídos deai_user cookie generada por el código de instrumentación JavaScript de Application Insights que se ejecuta en el navegador del usuario.

SessionTelemetryInitializer actualiza elCarné de identidad propiedad de laSesión contexto para todos los elementos de telemetría con valor extraído deai_session cookie generada por el código de instrumentación JavaScript de ApplicationInsights que se ejecuta en el navegador del usuario. (dedocumentación azul (Configuración de Application Insights SKD con ApplicationInsights.config))

Entonces hay dos cookies:ai_sessionyai_user.

Y aquí vienen mis preguntas:

¿Cuándo se inicializan?Que lo esta haciendo¿Cómo puedo dejar de usarlos?Si quisiera conservarlos, ¿cómo podría cambiar su tiempo de vencimiento?

Intentando eliminarlos, hice un proyecto usando las aplicaciones web ASP.NET usando la plantilla predeterminada para Web Api, que incluye MVC y Web Api.

Investigando encontréEste enfoque para deshabilitarlos pero no tengo ningún WebSessionTrackingTelemetryModule. Así que comenté "UserTelemetryInitializer" y "SessionTelemetryInitializer" y esto es lo que tengo:

<TelemetryInitializers>

  <Add Type="Microsoft.ApplicationInsights.Extensibility.Web.SyntheticTelemetryInitializer, Microsoft.ApplicationInsights.Extensibility.Web" />
  <Add Type="Microsoft.ApplicationInsights.Extensibility.Web.ClientIpHeaderTelemetryInitializer, Microsoft.ApplicationInsights.Extensibility.Web" />
  <Add Type="Microsoft.ApplicationInsights.Extensibility.Web.UserAgentTelemetryInitializer, Microsoft.ApplicationInsights.Extensibility.Web" />
  <Add Type="Microsoft.ApplicationInsights.Extensibility.Web.OperationNameTelemetryInitializer, Microsoft.ApplicationInsights.Extensibility.Web" />
  <Add Type="Microsoft.ApplicationInsights.Extensibility.Web.OperationIdTelemetryInitializer, Microsoft.ApplicationInsights.Extensibility.Web" />

<!--<Add Type="Microsoft.ApplicationInsights.Extensibility.Web.UserTelemetryInitializer, Microsoft.ApplicationInsights.Extensibility.Web" />-->
<!--<Add Type="Microsoft.ApplicationInsights.Extensibility.Web.SessionTelemetryInitializer, Microsoft.ApplicationInsights.Extensibility.Web" />-->

 <Add Type="Microsoft.ApplicationInsights.Extensibility.Web.AzureRoleEnvironmentTelemetryInitializer, Microsoft.ApplicationInsights.Extensibility.Web" />
 <Add Type="Microsoft.ApplicationInsights.Extensibility.Web.DomainNameRoleInstanceTelemetryInitializer, Microsoft.ApplicationInsights.Extensibility.Web" />
 <Add Type="Microsoft.ApplicationInsights.Extensibility.Web.BuildInfoConfigComponentVersionTelemetryInitializer, Microsoft.ApplicationInsights.Extensibility.Web" />
 <Add Type="Microsoft.ApplicationInsights.Extensibility.Web.DeviceTelemetryInitializer, Microsoft.ApplicationInsights.Extensibility.Web" />


</TelemetryInitializers>

Y:

<TelemetryModules>

<Add Type="Microsoft.ApplicationInsights.Extensibility.DependencyCollector.DependencyTrackingTelemetryModule, Microsoft.ApplicationInsights.Extensibility.DependencyCollector" />
<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.PerformanceCollectorModule, Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector"/>
<Add Type="Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.DiagnosticsTelemetryModule, Microsoft.ApplicationInsights" />
<Add Type="Microsoft.ApplicationInsights.Extensibility.Web.RequestTrackingTelemetryModule, Microsoft.ApplicationInsights.Extensibility.Web"/>
<Add Type="Microsoft.ApplicationInsights.Extensibility.Web.ExceptionTrackingTelemetryModule, Microsoft.ApplicationInsights.Extensibility.Web" />
<Add Type="Microsoft.ApplicationInsights.Extensibility.Web.DeveloperModeWithDebuggerAttachedTelemetryModule, Microsoft.ApplicationInsights.Extensibility.Web" />

</TelemetryModules>

Pero no hace la diferencia. O dejo los módulos comentados o no, las cookies todavía se están generando.

Al intentar eliminar las cookies, comenté los pasos realizados en Inicio y excluyo de mi proyecto todos los archivos .js, pero las cookies siguen apareciendo después de cada solicitud.

Entonces, en este momento, no entiendo dónde tiene lugar el "Javascript de Application Insights" y supongo que lo que me falta es algo en el backend. ¿Me equivoco?

Finalmente, mi Startup.cs comentado se ve así:

[assembly: OwinStartupAttribute(typeof(Try001.Startup))]
namespace Try001
{
    public partial class Startup
    {
         public void Configuration(IAppBuilder app)
         {   
            //ConfigureAuth(app);
         }
    }
  }

Y mi Global.asax.cs se ve así:

public class MvcApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        //AreaRegistration.RegisterAllAreas();
        //FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        //BundleConfig.RegisterBundles(BundleTable.Bundles);
    }
}

Donde RegisterRoutes solo está haciendo el enrutamiento predeterminado. Así que traté de hacer las cosas más básicas para que funcione, pero no tengo ni idea de dónde seguir cavando.

¿Podría alguien iluminarme?

Gracias por leer hasta ahora.

Respuestas a la pregunta(1)

Su respuesta a la pregunta