DiagnosticSource.OnActivityExport(Activity, Object) Método

Definição

Transfere o estado de uma atividade para algum evento ou operação, como um pedido HTTP de saída, que ocorrerá fora do processo.

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

A atividade afetada por um evento externo.

payload
Object

Um objeto que representa o pedido de saída.

Observações

Se um local de instrumentação estiver num local onde as atividades saem do processo (como pedidos HTTP de saída), esse site vai querer transferir o estado da atividade para o pedido de saída.

Na medida do possível, isto deve ser feito pelo local de instrumentação, pois existe um contrato entre um Activity e a lógica de pedido de saída no local de instrumentação. No entanto, o site de instrumentação não consegue gerir políticas (por exemplo, se a informação da atividade deve ser desativada ou escrita num formato mais antigo por razões de compatibilidade). Para isso, o local de instrumentação precisa de contactar o sistema de registo e pedir que resolva a política. Este é o propósito do OnActivityExport método.

O OnActivityExport método recebe o Activity bem como um objeto de carga útil que representa o pedido de saída. O DiagnosticSource assinante tem então a capacidade de atualizar o pedido de saída antes de este ser enviado.

Note-se que este método raramente é usado em locais de instrumentação (apenas nos locais que estão numa fronteira de saída do processo). Além disso, normalmente a política padrão que o local de instrumentação executa (por exemplo, transferir todo o estado de atividade numa determinada convenção de saída) é provavelmente válida. Este método é apenas para casos em que isso é um problema. Assim, este método deve ser usado muito raramente e está principalmente aqui para simetria e OnActivityImport preparação para o futuro.

Note que payload é digitado como um Object aqui, mas qualquer site de instrumentação e assinante específico deve conhecer o tipo da carga útil e, assim, projetá-la e decodificá-la, se necessário.

Aplica-se a