将 Application Insights 与 Windows 10 IoT Core 结合使用

Using Application Insights with Windows 10 IoT Core

在 Windows 应用程序中使用 Application Inights 有一个很棒的指南:Application Insights for Windows Phone and Store apps

将 Application Insight 与 Windows 10 IoT Core 一起使用时有什么最佳实践吗?我看到一个有趣的用法,即使用 Application Insigts 作为一种易于使用的事件记录机制来监视无头应用 运行 状态。

这是我的发现。

不要使用:WindowsAppInitializer.InitializeAsync("1234567-1111-1234-1234-1234567890ab"); 初始化 Application Insights,因为这会使 IoT 应用程序崩溃。

我改用了这样的东西:

public sealed class StartupTask : IBackgroundTask
{
    private BackgroundTaskDeferral _defferal;

    internal static TelemetryClient TelemetryClient = new TelemetryClient();


    public StartupTask()
    {
        TelemetryClient.InstrumentationKey = "1234567-1111-1234-1234-1234567890ab";

    }

    public async void Run(IBackgroundTaskInstance taskInstance)
    {
        var cancellationTokenSource = new System.Threading.CancellationTokenSource();
        taskInstance.Canceled += TaskInstance_Canceled;

        _defferal = taskInstance.GetDeferral();
        ... [insert your code]...
    }
}

要使用 Application Insights,我只是在需要时使用 StartupTask.TelemetryClient.TrackEvent("Some event") 或其他一些 App Insight 方法。