Partilhar via


Propagador de contexto de rastreio padrão atualizado para o padrão W3C

O propagador padrão de contexto de traço foi alterado do propagador antigo para o propagador W3C. O novo propagador utiliza o cabeçalho baggage em vez de Correlation-Context, impõe a codificação compatível com o W3C e suporta apenas IDs de pais de rastreamento formatados de acordo com o W3C.

Versão introduzida

.NET 10

Comportamento anterior

Anteriormente, o DistributedContextPropagator.CreateDefaultPropagator() método retornava uma instância do propagador herdado. Por padrão, DistributedContextPropagator.Current foi definido como essa instância herdada.

Novo comportamento

A partir do .NET 10, o DistributedContextPropagator.CreateDefaultPropagator() método retorna uma instância do propagador W3C. Por padrão, DistributedContextPropagator.Current é definido como esta instância do W3C.

Exemplo de configuração do propagador padrão para o propagador herdado:

DistributedContextPropagator.Current = DistributedContextPropagator.CreatePreW3CPropagator();

Tipo de mudança disruptiva

Esta alteração é de natureza comportamental .

Motivo da mudança

Esta alteração garante a total conformidade com as especificações de Contexto de Rastreio e Bagagem do W3C. O propagador do W3C aplica uma formatação rigorosa para as chaves e valores de rastreamento pai, estado de rastreamento e bagagem, em conformidade com os padrões do W3C. O propagador legado foi mais brando e usou o cabeçalho não padrão Correlation-Context para propagação de bagagem.

Para obter mais detalhes, consulte os seguintes problemas do GitHub:

Se você precisar manter o comportamento herdado, use o DistributedContextPropagator.CreatePreW3CPropagator() método para recuperar a instância do propagador herdado. Defina-o como o propagador atual, conforme mostrado abaixo:

DistributedContextPropagator.Current = DistributedContextPropagator.CreatePreW3CPropagator();

APIs afetadas