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

Определение

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

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

Параметры

activity
Activity

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

payload
Object

Полезные данные, представляющие входящий запрос.

Комментарии

Если сайт инструментирования создает новое действие в ответ на какое-то событие вне процесса, например входящий HTTP-запрос), OnActivityImport метод позволяет сайту создать новое действие и передать состояние из входящего запроса в действие.

Насколько это возможно, это должен сделать сайт инструментирования, так как на сайте инструментирования существует контракт между Activity и логикой входящего запроса. Однако сайт инструментирования не может обрабатывать политику. (Например, если выборка выполнена, то какие именно запросы следует использовать?) В таких случаях сайт инструментирования должен выполнить обратный вызов в систему ведения журнала и попросить ее разрешить политику (например, чтобы решить, следует ли задать бит "выборки" действия). Это предназначение OnActivityImport метода . Ему предоставляется действие, а также объект полезных данных, представляющий входящий запрос. После этого подписчики DiagnosticSource имеют возможность обновить это действие по своему усмотрению.

Этот метод редко используется на сайтах инструментирования (только на тех сайтах, которые находятся на границе процесса), а сайт instrumetation реализует определенную политику по умолчанию (он каким-то образом задает действие), и поэтому не нужно переопределять этот метод, если политика по умолчанию подходит. Иными словами, этот метод следует переопределить в очень редких (но часто важных) случаях.

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

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