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

为何默认Web API Core项目调用v2/track?如何彻底禁用遥测?

问题原因

你观察到的指向https://dc.services.visualstudio.com/v2/track的对外请求,属于微软Application Insights(Azure Monitor)的遥测上报链路,和业务代码、Swagger本身、Azure AD身份认证逻辑没有直接关联。

  • Visual Studio 2022 17.0.2版本内置的ASP.NET Core Web API默认模板,隐式启用了开发环境遥测收集能力:该功能最初设计用于收集模板使用反馈、开发阶段异常统计,创建向导没有提供显式的关闭选项,不需要用户手动引入Application Insights相关NuGet包,会通过.NET SDK的构建目标自动注入逻辑。
  • 触发上报的场景包括应用启动、请求返回错误状态码(比如你测试时遇到的401未授权响应),上报链路既可能从服务端进程发起,也可能通过Swagger页面注入的前端脚本从浏览器侧发起。
  • 该逻辑默认仅在开发环境启用,但如果相关配置没有被显式清理,发布到生产环境后存在残留触发上报的可能,不符合隐私合规要求。
彻底移除遥测逻辑的操作步骤

不需要通过修改hosts、配置网络拦截规则实现,按以下步骤清理即可从根源禁用所有相关上报:

1. 修改项目文件禁用自动注入

右键项目选择「卸载项目」,再选择「编辑项目文件」,做两处修改:

  • 删除所有和Application Insights相关的包引用、连接服务配置,类似如下条目直接移除:
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="*" />
<ConnectedService Name="Application Insights" />
  • 在<PropertyGroup>节点下添加两个配置项,禁用.NET SDK自动注入遥测逻辑:
<EnableApplicationInsights>false</EnableApplicationInsights>
<EnableAspNetCoreTelemetry>false</EnableAspNetCoreTelemetry>

修改完成后重新加载项目。

2. 清理服务注册代码

打开项目的Program.cs文件(.NET 6+顶级语句模板):

  • 查找并删除自动生成的builder.Services.AddApplicationInsightsTelemetry();代码行。
  • 如果启用了Azure AD身份认证,在Microsoft Identity配置项中显式关闭身份模块自带的遥测:
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
    .AddMicrosoftIdentityWebApi(options =>
    {
        builder.Configuration.Bind("AzureAd", options);
    }, options => 
    {
        // 禁用身份模块遥测
        options.DisableTelemetry = true;
    });

3. 关闭Swagger页面的前端遥测

如果请求是从浏览器侧发起的,是Swagger开发页面被注入了遥测脚本,在Swagger配置中显式关闭即可:

if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI(options =>
    {
        // 禁用Swagger UI内置遥测上报
        options.ConfigObject.AdditionalItems["telemetryEnabled"] = false;
    });
}

4. 清理配置文件中的遥测节点

打开所有环境的配置文件,包括appsettings.json、appsettings.Development.json、appsettings.Production.json,删除完整的ApplicationInsights配置节点,包括InstrumentationKey、ConnectionString等相关字段,避免SDK自动读取配置激活遥测。

5. 验证清理结果

重新编译运行项目,复现之前的401请求场景:

  • 在Chrome DevTools网络面板过滤dc.services.visualstudio.com域名,确认浏览器侧无相关请求
  • 通过本机防火墙出站日志监控应用进程,确认服务端无指向该域名的出站连接
    即可确认遥测逻辑被完全移除,生产环境部署后也不会触发相关对外调用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 07:01:58