You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TelemetryConfiguration.CreateDefault与new TelemetryConfiguration()有何区别?

TelemetryConfiguration.CreateDefault 与 new TelemetryConfiguration() 的区别

二者核心差异在于初始化逻辑和配置来源,具体区别如下:

初始化逻辑不同

  • new TelemetryConfiguration():直接创建一个空白配置实例,所有属性均为默认初始值(如InstrumentationKey为空,无默认遥听器、处理器),所有配置项需手动添加或修改。
  • TelemetryConfiguration.CreateDefault():执行完整的初始化流程,包括:
    • 自动注册SDK内置的默认遥听器(如ServerTelemetryChannel)和处理器
    • 应用SDK预设的上下文关联、采样等默认规则

配置来源不同

  • new TelemetryConfiguration():仅使用代码中手动设置的配置,不会读取任何外部配置文件(如appsettings.json、ApplicationInsights.config)。
  • TelemetryConfiguration.CreateDefault():优先加载外部配置文件中的配置项,再结合代码中的自定义配置,实现“默认配置+自定义扩展”的组合效果。

使用场景差异

  • 用new TelemetryConfiguration():适合需要完全隔离、手动控制所有配置的场景,比如单元测试中需要避免外部配置干扰。
  • 用TelemetryConfiguration.CreateDefault():是生产环境的推荐用法,能自动应用官方最佳实践配置,减少手动配置成本,同时支持通过代码覆盖或扩展默认配置。

内容的提问来源于stack exchange,提问作者manymanymore

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 01:50:25