Управление Cookie-файлами Application Insights
Мне интересно, как идеи приложения работают с файлами cookie, потому что мне нравится понимать отслеживание пользователей и сеансов, поэтому я исследовал и
Вот краткое введение в теорию:
Всякий раз, когда Application Insights SDK получает запрос, в котором отсутствует cookie-файл отслеживания пользователей приложения (установленный фрагментом кода Application Insights JS), он устанавливает этот cookie и начинает новый сеанс. (отapmtips )
2.
UserTelemetryInitializer обновляетЯ бы а такжеДата Приобретения свойствапользователь контекст для всех элементов телеметрии со значениями, извлеченными изai_user cookie, сгенерированный кодом инструментария JavaScript Application Insights, работающим в браузере пользователя
SessionTelemetryInitializer обновляетЯ бы собственностьсессия контекст для всех телеметрических объектов со значением, извлеченным изai_session cookie, сгенерированный кодом инструментария JavaScript ApplicationInsights, работающим в браузере пользователя. (отдокументация azure (Настройка SKD для Application Insights с помощью ApplicationInsights.config))
Итак, есть два куки:ai_session, а такжеai_user.
И вот мои вопросы:
Когда они инициализируются?Что это делает?Как я могу перестать их использовать?Если бы я хотел сохранить их, как я мог бы изменить их срок годности?Пытаясь удалить их, я создал проект с использованием веб-приложений ASP.NET, используя шаблон по умолчанию для Web Api, который включает MVC и Web Api.
Проводя исследование я нашелэтот подход чтобы отключить их, но у меня нет никакого WebSessionTrackingTelemetryModule. Поэтому я прокомментировал «UserTelemetryInitializer» и «SessionTelemetryInitializer», и это то, что у меня есть:
<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>
А также :
<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>
Но это не имеет значения. Либо я оставляю комментированные модули, либо нет, куки все еще генерируются.
Пытаясь удалить куки, я прокомментировал шаги, сделанные в Startup, и исключил из моего проекта все файлы .js, но куки продолжают появляться после каждого запроса.
Таким образом, на данный момент я не понимаю, где происходит «Application Insights Javascript», и думаю, что мне не хватает чего-то в бэкэнде. Я ошибся?
Наконец, мой комментарий Startup.cs выглядит так:
[assembly: OwinStartupAttribute(typeof(Try001.Startup))]
namespace Try001
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
//ConfigureAuth(app);
}
}
}
И мой Global.asax.cs выглядит так:
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
//AreaRegistration.RegisterAllAreas();
//FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
//BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}
Где RegisterRoutes просто делает маршрутизацию по умолчанию. Поэтому я стремился сделать только самые простые вещи, чтобы все заработало, но я понятия не имею, где продолжать копать.
Может ли кто-нибудь просветить меня?
Спасибо за чтение до сих пор.