如何为.NET Framework应用配置Application Insights区分应用来源
解决.NET Framework应用在Application Insights中无法区分事件来源的问题
问题场景
- 环境:已安装全部更新的Visual Studio 2022,基于.NET Framework(非.NET Core)开发
- 两个独立应用均接入Application Insights记录错误与事件,事件已成功上报至Azure,但两个应用的AppID一致,无法区分事件归属
解决方案
无需在Azure端重新配置Application Insights实例,仅需在应用层面添加自定义遥测初始化器即可实现区分:
- 创建自定义遥测初始化器类,实现
ITelemetryInitializer接口(每个应用需设置不同的RoleName值):
public class ReportInitialise : ITelemetryInitializer { public void Initialize(ITelemetry telemetry) { telemetry.Context.Cloud.RoleName = "应用唯一标识"; telemetry.Context.Cloud.RoleInstance = "应用实例标识"; } }
- 在
MvcApplication类的Application_Start方法中注册该初始化器:
TelemetryConfiguration.Active.TelemetryInitializers.Add(new ReportInitialise());
配置完成后,Application Insights中的事件会携带对应的RoleName标识,可在Azure门户中通过筛选该字段区分不同应用的事件。
内容的提问来源于stack exchange,提问作者Computer
相关产品推荐
相关产品推荐

