DiagnosticSource.OnActivityExport(Activity, Object) Метод

Определение

Передает состояние действия какому-либо событию или операции, например исходящему HTTP-запросу, который будет выполнен за пределами процесса.

public:
 virtual void OnActivityExport(System::Diagnostics::Activity ^ activity, System::Object ^ payload);
public virtual void OnActivityExport (System.Diagnostics.Activity activity, object? payload);
public virtual void OnActivityExport (System.Diagnostics.Activity activity, object payload);
abstract member OnActivityExport : System.Diagnostics.Activity * obj -> unit
override this.OnActivityExport : System.Diagnostics.Activity * obj -> unit
Public Overridable Sub OnActivityExport (activity As Activity, payload As Object)

Параметры

activity
Activity

Действие, на которое влияет внешнее событие.

payload
Object

Объект, представляющий исходящий запрос.

Комментарии

Если сайт инструментирования находится в расположении, где действия покидают процесс (например, исходящие HTTP-запросы), этот сайт хочет перенести состояние из действия в исходящий запрос.

Насколько это возможно, это должен сделать сайт инструментирования, так как на сайте инструментирования существует контракт между Activity и логикой запроса. Однако сайт инструментирования не может обрабатывать политику (например, следует ли отключить или записать сведения о действиях в более старом формате для обеспечения совместимости). Для этого сайту инструментирования необходимо выполнить обратный вызов в систему ведения журнала и попросить ее разрешить политику. Это предназначение OnActivityExport метода .

Методу OnActivityExport присваивается Activity , а также объект полезных данных, представляющий исходящий запрос. После DiagnosticSource этого подписчик может обновить исходящий запрос перед его отправкой.

Обратите внимание, что этот метод редко используется на сайтах инструментирования (только на тех сайтах, которые находятся на исходящей границе процесса). Кроме того, обычно политика по умолчанию, которую выполняет сайт инструментирования (например, для передачи всех состояний активности в определенном исходящем соглашении), скорее всего, будет нормальной. Этот метод предназначен только для тех случаев, когда это проблема. Таким образом, этот метод следует использовать очень редко и в основном здесь для симетрии с OnActivityImport и будущей проверки правописания.

Обратите внимание, что payload тип имеет тип , но любой конкретный Object сайт инструментирования и подписчик должны знать тип полезных данных и, таким образом, при необходимости приведение и декодирование.

Применяется к