从 HttpClient 请求中删除 TraceParent 标头

raw*_*per 5 c# http-headers

当我使用 发送任何请求时HttpClient,它会自动将标头附加TraceParent到请求标头。我尝试清除所有默认请求标头,但这没有什么区别。

fli*_*ier 1

标头traceparentRequest-Id由 DiagnosticsHandler 指定:https://github.com/dotnet/runtime/blob/release/5.0/src/libraries/System.Net.Http/src/System/Net/Http/DiagnosticsHandler.cs#L286

此处描述了如何禁用此行为:https://github.com/dotnet/aspnetcore/issues/21012#issuecomment-616570453

ASP.NET Core 默认创建一个代表请求的 Activity。这就是告诉 HttpClient 发送传出请求 id 标头的内容。您可以通过多种方式禁用它:

  • 通过在发出请求之前将当前活动设置为 null (Activity.Current = null)
  • 通过将环境变量 DOTNET_SYSTEM_NET_HTTP_ENABLEACTIVITYPROPAGATION 设置为“false”或“0”。
  • 通过AppContext切换System.Net.Http.EnableActivityPropagation为false