Как я могу использовать службу телеметрии для измененного идентификатора пользователя для Appinsight? - PullRequest
0 голосов
/ 04 ноября 2019

У меня большие проблемы с изменением userId в журналах запросов Appinsight. Если я создаю новую среду Appinsight, код работает отлично! Но если я использую приведенный ниже код в существующем приложении, UserId или другие свойства REQUEST или PageView не могут быть изменены. Разработчик до меня создал appinsight с помощью мастера. Я понятия не имею, почему я не могу изменить значение идентификатора пользователя. Как я могу изменить это? Есть ли файл конфигурации для изменения свойств контекста модификаций приложения? Мой проект - ядро ​​Asp.net 2.2. Я использую "Microsoft.ApplicationInsights;"как пакет nuget.

public class MyTelemetryInitializer : ITelemetryInitializer
{
    public MyTelemetryInitializer()
    {
    }

    public void Initialize(ITelemetry telemetry)
    {
        try
        {

                telemetry.Context.User.Id = "yusuf"; //=> NOT WORKING!!
                telemetry.Context.Cloud.RoleInstance = "test"; //=> NOT WORKING!!
                telemetry.Context.Properties["EventId"] = "deneme";

                ISupportProperties propTelemetry = (ISupportProperties)telemetry;

                if (propTelemetry.Properties.ContainsKey("EventId"))
                {
                    propTelemetry.Properties["EventId"] = "deneme2"; //=> Working!!!
                }


        }
        catch (Exception ex)
        {

            Trace.WriteLine(ex.Message);
        }
    }

}

Startup.cs:

      public void ConfigureServices(IServiceCollection services)
    {
     ......
       .......
     services.AddSingleton<ITelemetryInitializer,MyTelemetryInitializer>(); 


        services.AddSession();
        ....
        }

Program.cs:

  public class Program
{
    public static void Main(string[] args)
    {
        BuildWebHost(args).Run();
    }

    public static IWebHost BuildWebHost(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseApplicationInsights()
            .UseStartup<Startup>()
            .Build();
}

если я посмотрю на «Application Insights Search», я увижу, что Userrid изменен:

enter image description here

Но когда я смотрю приложение, insgiht в AZURE, Useridпусто.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...