今天有一篇关于这一点的新博客文章:Application Insights Support for Multiple Environments, Stamps and App Versions。
遥测的目的地由与每条遥测消息一起发送的检测密钥 (iKey) 确定。在 Application Insights 门户中,聚合具有相同 iKey 的类似事件和指标,为您提供平均持续时间、事件计数、用户总数等图表。iKey 出现在项目中的两个位置。一个在ApplicationInsights.config
:
<InstrumentationKey>94843456-2345-3456-4567-324562759284</InstrumentationKey>
如果您的应用程序有网页,则 iKey 也会出现在每个网页头部的脚本中。通常,它只在母版页中编码一次,例如Views\Shared\_Layout.cshtml
.
要将遥测指向不同的应用程序资源,我们可以创建具有不同 iKey 的多个资源。然后,我们只需在应用程序生命周期中的每次转换时更改应用程序中的 iKey——以及其他配置数据,例如连接字符串、证书和订阅。
然后文章继续介绍如何在代码、配置等中执行此操作:
1)添加iKey
为属性Web.config
:
2)我们将在代码中设置它,而不是使用iKey
from 。ApplicationInsights.config
在global.asax.cs
.
为避免混淆,请<InstrumentationKey>
从
ApplicationInsights.config
.
3) 配置要拾取的网页 instrumentationKey: "@Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.Active.InstrumentationKey"
。这是通常在View\Shared\_Layout.cshtml
.
4) 不要忘记
在部署过程中Web.config
使用适当的配置更新您的配置。iKey
您可能会设计一种将其适当设置为构建的一部分的方法,但我将把它留给您。