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 могут обновить это действие по мере необходимости.
Этот метод редко используется на сайтах инструментирования (только на тех сайтах, которые находятся на границе процесса), а сайт инструметации реализует определенную политику по умолчанию (он задает действие каким-то образом), поэтому не нужно переопределять этот метод, если эта политика по умолчанию является нормальной. Другими словами, этот метод должен быть переопределен в очень редких (но часто важных) случаях.
Обратите внимание, что payload типируется Object здесь, но любой конкретный сайт инструментирования и подписчик будут знать тип полезных данных и, следовательно, приведение и декодирование его при необходимости.