Verwalten von Application Insights-Cookies

Ich frage mich, wie Application Insights mit Cookies funktionieren, da ich die Nachverfolgung von Benutzern und Sitzungen verstehen möchte. Deshalb habe ich nachgeforscht und ...

Hier ist eine kurze Einführung in die Theorie:

Wenn Application Insights SDK eine Anfrage erhält, für die kein Application Insights-Cookie zur Benutzerverfolgung vorhanden ist (gesetzt von Application Insights JS-Snippet), wird dieses Cookie gesetzt und eine neue Sitzung gestartet. (von apmtips )

2.

UserTelemetryInitializer aktualisiert dasIch würd undKaufdatu Eigentum vonBenutze -Kontext für alle Telemetrieelemente mit Werten, die aus dem @ extrahiert wurd ai_user Cookie, das vom Application Insights JavaScript-Instrumentierungscode generiert wird, der im Browser des Benutzers ausgeführt wird.

SessionTelemetryInitializer aktualisiert dasIch würd Eigenschaft desSessio -Kontext für alle Telemetrieelemente, deren Wert aus dem @ extrahiert wur ai_session Cookie, das vom ApplicationInsights-JavaScript-Instrumentierungscode generiert wird, der im Browser des Benutzers ausgeführt wird. (vonazure-Dokumentation (Konfigurieren von Application Insights SKD mit ApplicationInsights.config))

So gibt es zwei Cookies: ai_session, und ai_user.

Und hier kommen meine Fragen:

Wann werden sie initialisiert?Was macht es?Wie kann ich die Verwendung beenden?Wenn ich sie behalten wollte, wie könnte ich ihre Ablaufzeit ändern?

eim Versuch, sie zu entfernen, habe ich ein Projekt mit ASP.NET-Webanwendungen mit der Standardvorlage für Web Api erstellt, die MVC und Web Api enthäl

ei einer Recherche fand ichdieser Ansat, um sie zu deaktivieren, aber ich habe kein WebSessionTrackingTelemetryModule. Also habe ich "UserTelemetryInitializer" und "SessionTelemetryInitializer" auskommentiert und das habe ich:

<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>

Und

<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>

Aber es macht keinen Unterschied. Entweder lasse ich die Module kommentieren oder nicht, die Cookies werden noch generiert.

Beim Versuch, die Cookies zu entfernen, habe ich die in Startup ausgeführten Schritte kommentiert und alle .js-Dateien aus meinem Projekt ausgeschlossen. Die Cookies werden jedoch nach jeder Anforderung weiterhin angezeigt.

An dieser Stelle verstehe ich nicht, wo das "Application Insights Javascript" stattfindet und ich vermute, dass das, was mir fehlt, etwas im Backend ist. Liege ich falsch

Schließlich sieht meine kommentierte Startup.cs so aus:

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

Und meine Global.asax.cs sieht so aus:

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

Where RegisterRoutes führt nur das Standardrouting aus. Also wollte ich nur die grundlegenden Dinge tun, um es zum Laufen zu bringen, aber ich habe keine Ahnung, wo ich weiter graben soll.

Kann mich jemand aufklären?

ielen Dank fürs Lese

Antworten auf die Frage(2)

Ihre Antwort auf die Frage