我对 Application Insights 非常陌生,我正在考虑将其用于我计划使用 asp.net webapi 实现的一组服务。我能够非常轻松地启动并运行基本遥测(右键单击 VS 上的项目,添加应用程序洞察),但随后我遇到了障碍。我计划在请求标头中设置一个相关 ID,用于调用下游服务,并且我想使用相同的相关 ID 来标记与一个外部调用相关的所有遥测数据。
到目前为止我发现有一种方法可以配置TelemetryInitializer
,但如果我理解正确的话,这是在我访问请求之前运行的,这意味着我无法检查是否有我应该附加的相关 ID。
所以我想可能有两种方法来解决这个问题:1)如果我能以某种方式在初始化程序之前实际访问请求标头,这显然可以解决问题,或者2)以某种方式获取所使用的 TelemetryClient 实例报告自动生成的遥测数据。
也许最后的手段是关闭所有自动功能并手动执行所有操作,此时我当然可以控制在TelemetryClient
。但这会需要更多的工作,所以我更愿意找到其他解决方案。
您说应该使用 TelemetryInitializer 是正确的。当对任何遥测项调用 Track 方法时,将调用所有 TelemetryInitializer。自动生成的请求遥测在请求结束时“跟踪”,此时您应该拥有所有可用的自定义标头。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)