Share via


DiagnosticSource.OnActivityExport(Activity, Object) Método

Definição

Transfere um estado de uma atividade para algum evento ou operação, como uma solicitação 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 a solicitação de saída.

Comentários

Se um site de instrumentação estiver em um local onde as atividades deixam o processo (como solicitações HTTP de saída), esse site desejará transferir o estado da atividade para a solicitação de saída.

Na medida do possível, isso deve ser feito pelo site de instrumentação, pois há um contrato entre um Activity e a lógica de solicitação de saída no site de instrumentação. No entanto, o site de instrumentação não pode lidar com a política (por exemplo, se as informações de atividade devem ser desabilitadas ou gravadas em um formato mais antigo por motivos de compatibilidade). Para isso, o site de instrumentação precisa chamar de volta para o sistema de registro em log e pedir que ele resolve política. Essa é a finalidade do OnActivityExport método .

O OnActivityExport método recebe o Activity bem como um objeto payload que representa a solicitação de saída. Em DiagnosticSource seguida, um assinante tem a capacidade de atualizar a solicitação de saída antes de ser enviada.

Observe que esse método raramente é usado em sites de instrumentação (apenas os sites que estão em um limite de saída do processo). Além disso, normalmente, a política padrão que o site de instrumentação executa (por exemplo, para transferir todo o estado de atividade em uma convenção de saída específica) provavelmente será boa. Esse método é apenas para casos em que isso é um problema. Portanto, esse método deve ser usado muito raramente e está principalmente aqui para símetria com OnActivityImport e à prova de futuro.

Observe que payload é digitado como um Object aqui, mas qualquer site de instrumentação específico e assinante deve saber o tipo do conteúdo e, portanto, convertê-lo e decodificá-lo, se necessário.

Aplica-se a