DiagnosticSource.OnActivityExport(Activity, Object) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.