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 здесь, но любой конкретный сайт инструментирования и подписчик будут знать тип полезных данных и, таким образом, при необходимости приведут и декодируют их.