我对Application非常陌生,我正在考虑将它用于我计划用asp.net webapi实现的一组服务。我能够很容易地启动和运行基本遥测(右击VS上的一个项目,添加应用程序洞察),但之后我遇到了一个障碍。我计划在请求头中为下游服务的调用设置一个相关id,并且我想用相同的相关id标记与一个外部调用相关的所有遥测。
到目前为止,我发现有一种配置TelemetryInitializer的方法,但是如果我理解正确,那么在访问请求之前就会运行它,这意味着我无法检查是否应该附加关联id。
因此,我想解决这个问题的方法可能有两种: 1)如果我能够在初始化器之前以某种方式访问请求头,这显然可以解决问题,或者2)以某种方式获得用于报告自动生成的遥测的TelemetryClient实例。
也许最后的办法是关掉所有的自动操作,然后手动完成,当然,我可以控制在TelemetryClient上设置了哪些属性。但这将是相当多的工作,所以我更愿意找到一些其他的解决方案。
发布于 2015-08-24 21:23:56
你说你应该使用TelemetryInitializer是正确的。当对任何遥测项目调用跟踪方法时,将调用所有TelemetryInitializers。自动生成的请求遥测被“跟踪”在请求OnEnd,您应该有您的所有自定义标头为您在当时可用。
https://stackoverflow.com/questions/32171747
复制相似问题