ASP. NET Основные сведения о приложении - отслеживание идентифицированного идентификатора пользователя - PullRequest
0 голосов
/ 11 февраля 2020

Я прочитал все, что смог найти, и все предлагает использовать ITelemetryInitializer. Тем не менее, лучшее, что я могу понять - это работает только один раз, как его синглтон. Он также запускается до того, как пользователь прошел аутентификацию, поэтому у меня пока нет нужных мне данных.

Я добавил логи c к отслеживанию на стороне клиента, поскольку это было довольно просто:

    @if (_userService != null && _userService.IsAuthenticated())
    {
        <script>
            appInsights.setAuthenticatedUserContext('@_userService.GetCurrentUserId()');
        </script>
    }

Обратите внимание, что в этом случае _userService - это служба DI, которую я использую для доступа к аутентифицированному в настоящее время пользователю (который сейчас использует только ClaimsPrincipal).

Теперь мне нужно добавить ту же настройку в серверная телеметрия, но я не могу понять, как подключиться к ней ie. Кто-нибудь там понял это?

1 Ответ

0 голосов
/ 11 февраля 2020

Так что я думаю, что это попадает в рамки "как только вы, как StackOverflow, вы сами это выясните".

Я не знаю, что я сделал неправильно, но я знаю, как только я изменил свой инициализатор от реализации ITelemetryInitializer до реализации TelemetryInitializerBase, он начал работать.

...