DiagnosticSource.OnActivityExport(Activity, Object) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.