我创建了一个从ITelemetryProcessor,派生的类,以便在C# .Net类库的单元测试期间捕获遥测数据。作为一个单元测试,没有提供InstrumentationKey,因为单元测试应该没有网络依赖。(我不能将遥测数据计入注入接口。)
我在单元测试方法期间创建和使用TelemetryClient's和记录自定义事件。但是,当我记录遥测项时,我注意到我的Process()方法没有被调用。
在做了一些实验之后,我意识到如果将一个InstrumentationKey设置为一个虚拟Guid,那么我的处理器()方法就会开始被调用。
TelemetryConfiguration.Active.InstrumentationKey = Guid.NewGuid().ToString();问:为什么我需要提供一个InstrumentationKey才能调用处理器?
谢谢
-John
发布于 2018-03-06 07:38:27
远程处理程序的目的是在发送到AI之前对遥测项应用额外的处理/过滤。如果没有ikey,那么发送到AI是没有意义的,因为它无论如何都不会被接受。为什么运行所有处理器的开销。
https://stackoverflow.com/questions/48836283
复制相似问题