Compartir a través de


DiagnosticSource.OnActivityExport(Activity, Object) Método

Definición

Transfiere el estado desde una actividad a algún evento u operación, como una solicitud HTTP saliente, que se producirá fuera del proceso.

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)

Parámetros

activity
Activity

Actividad afectada por un evento externo.

payload
Object

Objeto que representa la solicitud saliente.

Comentarios

Si un sitio de instrumentación está en una ubicación donde las actividades dejan el proceso (como las solicitudes HTTP salientes), ese sitio querrá transferir el estado de la actividad a la solicitud saliente.

En la medida de lo posible, el sitio de instrumentación debe hacerlo porque existe un contrato entre y Activity la lógica de solicitud de ougoing en el sitio de instrumentación. Sin embargo, el sitio de instrumentación no puede controlar la directiva (por ejemplo, si la información de actividad debe deshabilitarse o escribirse en un formato anterior por motivos de compatibilidad). Para ello, el sitio de instrumentación debe volver a llamar al sistema de registro y pedirle que resuelva la directiva. Este es el propósito del OnActivityExport método .

El OnActivityExport método se asigna al Activity objeto de carga, así como un objeto de carga que representa la solicitud saliente. A continuación, un DiagnosticSource suscriptor tiene la capacidad de actualizar la solicitud saliente antes de enviarla.

Tenga en cuenta que este método rara vez se usa en sitios de instrumentación (solo aquellos sitios que se encuentran en un límite saliente del proceso). Además, normalmente la directiva predeterminada que realiza el sitio de instrumentación (por ejemplo, para transferir todo el estado de actividad en una convención saliente determinada) es probable que esté bien. Este método solo es para los casos en los que se trata de un problema. Por lo tanto, este método se debe usar muy rara vez y está principalmente aquí para la symetry con OnActivityImport y la corrección futura.

Tenga en cuenta que payload se escribe como un Object aquí, pero cualquier sitio de instrumentación y suscriptor determinado debe conocer el tipo de la carga y, por tanto, convertirla y descodificarla si es necesario.

Se aplica a