![](/img/trans.png)
[英]Need Clarification : Logging data in to Application Insights from Azure Functions
[英]Remove RoleInstance from data sent to Azure Application Insights from WPF
我正在嘗試使用以下文檔將 Application Insights 添加到 WPF 應用程序: https://docs.microsoft.com/en-us/azure/azure-monitor/app/windows-desktop 。 基本集成正在工作。 我現在正嘗試從提交的數據中刪除 RoleInstance 屬性,如文檔中所述,因為它包含用戶的計算機名稱(個人身份信息)。 這是我的代碼,基於上面的文檔:
遙測.cs
public static class Telemetry
{
public static TelemetryClient Client;
public static void Close()
{
if (Client != null)
{
Client.Flush();
System.Threading.Thread.Sleep(1000);
}
}
public static void Initialize()
{
TelemetryConfiguration.Active.InstrumentationKey = "xxxxxxxx";
TelemetryConfiguration.Active.TelemetryInitializers.Add(new MyTelemetryInitializer());
Client = new TelemetryClient(TelemetryConfiguration.Active);
Client.Context.Session.Id = Guid.NewGuid().ToString();
Client.Context.Device.OperatingSystem = Environment.OSVersion.ToString();
}
private class MyTelemetryInitializer : ITelemetryInitializer
{
public void Initialize(ITelemetry telemetry)
{
if (string.IsNullOrEmpty(telemetry.Context.Cloud.RoleName))
{
telemetry.Context.Cloud.RoleInstance = null;
}
}
}
}
App.xaml.cs
public partial class App : Application
{
protected override void OnExit(ExitEventArgs e)
{
Telemetry.Close();
base.OnExit(e);
}
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
Telemetry.Initialize();
}
}
當我調用Telemetry.Client.TrackEvent()
時, Telemetry.Initialize()
運行,並且RoleInstance
從一開始就是 null 。 但是,發送給 AI 的數據包含我的計算機名稱作為 RoleInstance。 不知道如何進一步調試。
注意:文檔描述了與 WinForms 的集成,我在 WPF,所以我猜想使用App.OnStartup
而不是Main
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.