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 请求) )的位置,则该站点需要将状态从活动传输到传出请求。

在可能的情况下,这应由检测站点完成,因为 检测站点上的 和 ougoing 请求逻辑之间存在 Activity 协定。 但是,检测站点无法处理策略 (例如,出于兼容性原因,是应禁用活动信息还是应以旧格式写入) 。 为此,检测站点需要回调日志记录系统,并要求其解析策略。 这是 方法的 OnActivityExport 用途。

OnActivityExport 方法提供了 以及 Activity 一个表示传出请求的有效负载对象。 DiagnosticSource然后,订阅者能够在发送传出请求之前对其进行更新。

请注意,此方法很少用于检测站点, (仅那些位于进程) 传出边界上的站点。 此外,通常检测站点执行的默认策略 (例如,传输特定传出约定中的所有活动状态) 可能很好。 此方法仅适用于存在问题的情况。 因此,此方法应很少使用,并且主要用于使用 OnActivityImport 和 面向未来的对称。

请注意, payload 在此处键入为 , Object 但任何特定的检测站点和订阅者都应知道有效负载的类型,并在必要时对其进行强制转换和解码。

适用于