Поделиться через


Распространитель контекста трассировки по умолчанию обновлен до стандарта W3C

Средство распространения контекста трассировки по умолчанию было переключено из устаревшего распространителя на распространитель W3C. Новый распространитель использует baggage заголовок, а не Correlation-Contextкодирование, совместимое с W3C, и поддерживает только родительские идентификаторы трассировки w3C.

Представленная версия

.NET 10 (предварительная версия 4)

Предыдущее поведение

Метод DistributedContextPropagator.CreateDefaultPropagator() вернул экземпляр устаревшего распространителя. По умолчанию DistributedContextPropagator.Current для этого устаревшего экземпляра задано значение.

Новое поведение

Теперь DistributedContextPropagator.CreateDefaultPropagator() метод возвращает экземпляр распространителя W3C. По умолчанию DistributedContextPropagator.Current для этого экземпляра W3C задано значение.

Пример настройки распространителя по умолчанию для устаревшего распространителя:

DistributedContextPropagator.Current = DistributedContextPropagator.CreatePreW3CPropagator();

Тип разрушающего изменения

Изменение поведения .

Причина изменения

Это изменение обеспечивает полное соответствие спецификациям контекста трассировки W3C и багажа. Средство распространения W3C применяет строгое форматирование для родительского элемента трассировки, состояния трассировки и ключей и значений багажа, соответствующих стандартам W3C. Устаревший распространитель был более мягким и использовал нестандартный Correlation-Context заголовок для распространения багажа.

Дополнительные сведения см. в следующих проблемах GitHub:

Если необходимо сохранить устаревшее поведение, используйте DistributedContextPropagator.CreatePreW3CPropagator() метод для получения экземпляра устаревшего распространителя. Задайте его в качестве текущего распространения, как показано ниже:

DistributedContextPropagator.Current = DistributedContextPropagator.CreatePreW3CPropagator();

Затронутые API