5

我试图使用 Microsoft.ApplicationInsights,并通过 nuget 安装了它。但是当我尝试使用

_telemetryClient.TrackException(ex, new Dictionary<string, string>
                                    {
                                         {"Id", id.ToString()}
                                    }, null);

我收到一条错误消息: InstrumentationKey 不能为空。

我已经浏览了URL,但在我的 VS 中看不到任何可用于配置文件的更新菜单(注意:我使用的是 VS 2012 Pro)。

我还尝试使用检测密钥更新配置文件

<ComponentID>{Instrumentation Key}</ComponentID>

但是,那也没有用。

谢谢。

4

5 回答 5

2

您是手动下载 nuget 还是通过 UI 将 AppInsights 添加到项目中获得的?当用户尝试手动添加单个块时,我们已经看到了这个问题。

最简单的恢复方法是通过右键单击项目并选择更新 Application Insights 添加完整的 AppInsights 支持 - 它会要求您创建新的 AI 资源或指向现有的 AI 资源,它会为您创建检测密钥。

但是您需要使用 VS 2013 才能为 Application Insights 进行 VS 集成。

于 2014-12-09T19:14:37.280 回答
1

我假设您已添加 .11 或更高版本的 Application Insights SDK。如果是这样,在将 Application Insights SDK 添加到您的项目后,将仪表键添加到您的 applicationinsights.config 文件中,如下所示:

</TelemetryInitializers>
<InstrumentationKey>your-guid-goes-ere</InstrumentationKey>
</ApplicationInsights>
于 2014-12-03T22:37:31.673 回答
1

我仍然没有在配置级别找到任何解决方案。但是,我们可以在初始化 TelemetryClient 对象时提供 Instrumentation Key:

var telemetryClient = new TelemetryClient(new TelemetryConfiguration()
                            {
                                InstrumentationKey = "Key"
                            });

请不要犹豫发布答案,我们如何通过配置提供 Instrumentation 密钥。

谢谢。

于 2014-11-27T14:11:57.750 回答
0

在我的情况下,我只需要将我的 IP 添加到 Azure 数据库防火墙 -InstrumentationKey在我们收到有关防火墙的解释性错误之前失败,因此可能会造成混淆。

于 2021-03-16T23:28:37.670 回答
0

在您的配置方法中使用以下代码。

Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.Active.InstrumentationKey = key;
于 2017-08-17T11:52:25.330 回答