Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
HttpClient-måttrapport
När HttpClient-mått lades till i .NET 8 server.port introducerades som ett Conditionally Required attribut i enlighet med standardtillståndet vid den tidpunkten. Att vara villkorsstyrd innebar att porten endast rapporterades om den inte matchade standardporten för motsvarande protokoll (80 för HTTP, 443 för HTTPS). Standardkravsnivån för attributet har dock ändrats till Required.
För att upprätthålla efterlevnaden av Open Telemetry-standarden samtidigt som instrumentens beteenden hålls konsekventa med varandra, har instrumenten http.client.request.duration, http.client.connection.durationoch http.client.open_connections ändrats för att villkorslöst rapportera server.port attributet.
Den här ändringen kan bryta befintliga frågor i övervakningsprogram som Prometheus.
Version introducerad
Förhandsversion 7 av .NET 9
Tidigare beteende
              http.client.request.duration, http.client.connection.durationoch http.client.open_connections rapporterade server.port attributet endast om det inte matchade motsvarande protokolls standardport (80 för HTTP, 443 för HTTPS).
Nytt beteende
Attributet server.port rapporteras nu villkorslöst av instrumenten http.client.request.duration, http.client.connection.durationoch http.client.open_connections.
Typ av icke-bakåtkompatibel ändring
Den här ändringen är en beteendeförändring.
Orsak till ändringen
Ändringen upprätthåller efterlevnaden av Open Telemetry-specifikationen samtidigt som instrumenten HttpClient hålls konsekventa med varandra.
Rekommenderad åtgärd
Ingen åtgärd krävs om du inte förlitar dig på HttpClient-mått. Om du använder instrumenten http.client.request.duration, http.client.connection.durationeller http.client.open_connections kan den här ändringen bryta befintliga frågor i övervakningsprogram som Prometheus.
Berörda API:er
System.Net.Http.SocketsHttpHandler.Send(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)System.Net.Http.SocketsHttpHandler.SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)- System.Net.Http.HttpClientHandler.Send(HttpRequestMessage, CancellationToken)
 - System.Net.Http.HttpClientHandler.SendAsync(HttpRequestMessage, CancellationToken)