Compartilhar via


Propagador de contexto de rastreamento padrão atualizado de acordo com o padrão W3C

O propagador de contexto de rastreamento padrão foi mudado do propagador "legacy" para o propagador W3C. O novo propagador usa o cabeçalho baggage em vez de Correlation-Context, aplica codificação conforme W3C, e dá suporte apenas a IDs de pai de rastreamento formatados em W3C.

Versão introduzida

.NET 10 Versão Prévia 4

Comportamento anterior

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

Novo comportamento

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

Exemplo de como definir o propagador padrão para o propagador herdado:

DistributedContextPropagator.Current = DistributedContextPropagator.CreatePreW3CPropagator();

Tipo de mudança disruptiva

Essa é uma mudança comportamental.

Motivo da alteração

Essa alteração garante a conformidade total com as especificações de Contexto de Rastreamento e Bagagem do W3C. O propagador W3C impõe uma formatação estrita para as chaves e valores do pai de rastreamento, estado de rastreamento e bagagem, alinhando-se com os padrões W3C. O propagador legado era mais leniente e utilizava o cabeçalho não padrão Correlation-Context para propagação de metadados.

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