【问题标题】:Application Insights not tracking users and sessionsApplication Insights 不跟踪用户和会话
【发布时间】:2015-08-06 09:30:41
【问题描述】:

我已在 Windows 8.1 应用上启用应用程序洞察 1.1.0 版。大约 1 个月前调试时一切正常,我可以看到我的会话和我的用户。几天前,我发布了我的应用程序,但未跟踪用户和会话(始终为零),而 trackevent 和 trackmetrics 被正确记录。 为了跟踪用户和会话,我在应用构造函数中使用此代码

tc = new TelemetryClient();

get started page 上说要使用此代码,但在 1.1.0 上不存在。

WindowsAppInitializer.InitializeAsync();

这是我的参考版本:

 <Reference Include="Microsoft.ApplicationInsights, Version=1.1.0.1899, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
 <Reference Include="Microsoft.ApplicationInsights.PersistenceChannel, Version=1.1.0.1903, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
 <Reference Include="Microsoft.Diagnostics.Tracing.EventSource, Version=1.1.25.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">

更新: 该软件包已安装并为项目启用,但缺少参考。再次删除并安装包解决了这个问题。
我检查了门户网站,并且正在再次跟踪会话。谢谢约翰!

【问题讨论】:

  • 查看我的回答:您缺少 Microsoft.ApplicationInsights.WindowsApps nuget 包,它引用了您拥有的包,并且 Windows 将特定代码存储在其中。

标签: azure windows-store-apps azure-application-insights


【解决方案1】:

该方法存在于由Microsoft.ApplicationInsights.WindowsApps nuget 包安装的程序集Microsoft.ApplicationInsights.Extensibility.Windows 中。

来自该程序集上的对象浏览器:

public static System.Threading.Tasks.Task InitializeAsync(string 
     instrumentationKey, [Microsoft.ApplicationInsights.WindowsCollectors 
     collectors = 29])
        Member of Microsoft.ApplicationInsights.WindowsAppInitializer

您的代码中是否缺少using Microsoft.ApplicationInsights;

【讨论】:

  • 我用确切的版本更新了我的问题。没有 Microsoft.ApplicationInsights.Extensibility.Windows 命名空间,只有 Microsoft.ApplicationInsights.Extensibility 命名空间包含 3 个类。
  • 是的,因为您缺少 Microsoft.ApplicationInsights.WindowsApps nuget 包,其中包含 Windows 存储特定内容。
【解决方案2】:

在我们的例子中,我们有一个可重用的组件来记录到 Application Insights。我们的可重用组件中确实引用了Microsoft.ApplicationInsights

此外,我们使用多个环境,并且我们在应用启动期间通过将值设置为 Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.Active.InstrumentationKey 获得单独的检测密钥。

使用 0.17 包时,用户和会话数据记录良好,但升级到 1.0 或 1.1 后,问题仍然存在。

【讨论】:

  • 你在调用 WindowsAppInitializer.InitializeAsync 吗?你在传递什么参数?在新的 Windows 应用程序设置中,您无需在遥测配置中进行设置,而是在构造函数中传递它,例如 WindowsAppInitializer.InitializeAsync( iKey ),并且该方法采用可选参数来设置要收集的内容。
猜你喜欢
  • 1970-01-01
  • 2018-11-20
  • 2018-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-08
  • 2015-10-28
  • 2017-06-28
相关资源
最近更新 更多