У меня большие проблемы с изменением 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](https://i.stack.imgur.com/szDGG.png)
Но когда я смотрю приложение, insgiht в AZURE, Useridпусто.
![enter image description here](https://i.stack.imgur.com/KFZlj.png)