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

在Azure App Service托管的.NET Framework 4.7.2 ASP.NET应用中,如何通过代码启用Application Insights的EnableSqlCommandTextInstrumentation

启用Application Insights SQL命令文本跟踪(代码方式,.NET Framework 4.7.2)

对于你的ASP.NET Framework 4.7.2应用,既然是通过代码配置Application Insights,要开启完整SQL命令文本记录,你需要手动定位或创建DependencyTrackingTelemetryModule实例,并显式设置它的EnableSqlCommandTextInstrumentation属性为true。具体操作如下:

  1. 先确认已安装Microsoft.ApplicationInsights.DependencyCollector NuGet包(如果还没安装的话,通过NuGet包管理器添加即可)。

  2. 在应用启动的配置代码中(比如Global.asax的Application_Start方法里),添加以下逻辑:

// 从现有配置中查找DependencyTrackingTelemetryModule实例
var dependencyModule = TelemetryConfiguration.Active.TelemetryModules
    .OfType<DependencyTrackingTelemetryModule>()
    .FirstOrDefault();

// 如果实例不存在,就创建一个并添加到配置中
if (dependencyModule == null)
{
    dependencyModule = new DependencyTrackingTelemetryModule();
    TelemetryConfiguration.Active.TelemetryModules.Add(dependencyModule);
}

// 启用SQL命令文本的跟踪记录
dependencyModule.EnableSqlCommandTextInstrumentation = true;

// 保留你原有的Application Insights基础配置
TelemetryConfiguration.Active.DisableTelemetry = false;
TelemetryConfiguration.Active.InstrumentationKey = setting.ApplicationInsightsInstrumentationKey;
  1. 关键细节说明:
  • DependencyTrackingTelemetryModule是Application Insights负责收集依赖项(包括SQL调用)数据的核心模块,EnableSqlCommandTextInstrumentation就是控制是否记录完整SQL命令文本的开关。
  • 由于你采用纯代码配置的方式,无法读取applicationInsights.config中的设置,所以必须通过代码显式开启这个属性才能生效。
  • 确保这段配置代码在应用启动初期执行,这样才能在整个应用生命周期内持续生效。

你提到Web应用的相关基础配置已正确启用,那只要加上这段代码,就能实现完整SQL日志的记录了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 22:02:50