Я прочитал все, что смог найти, и все предлагает использовать ITelemetryInitializer. Тем не менее, лучшее, что я могу понять - это работает только один раз, как его синглтон. Он также запускается до того, как пользователь прошел аутентификацию, поэтому у меня пока нет нужных мне данных.
Я добавил логи c к отслеживанию на стороне клиента, поскольку это было довольно просто:
@if (_userService != null && _userService.IsAuthenticated())
{
<script>
appInsights.setAuthenticatedUserContext('@_userService.GetCurrentUserId()');
</script>
}
Обратите внимание, что в этом случае _userService - это служба DI, которую я использую для доступа к аутентифицированному в настоящее время пользователю (который сейчас использует только ClaimsPrincipal).
Теперь мне нужно добавить ту же настройку в серверная телеметрия, но я не могу понять, как подключиться к ней ie. Кто-нибудь там понял это?