DiagnosticSource.OnActivityImport(Activity, Object) Método

Definição

Transfere um estado para uma atividade de algum evento ou operação, como uma solicitação de entrada, que ocorreu fora do processo.

public:
 virtual void OnActivityImport(System::Diagnostics::Activity ^ activity, System::Object ^ payload);
public virtual void OnActivityImport (System.Diagnostics.Activity activity, object? payload);
public virtual void OnActivityImport (System.Diagnostics.Activity activity, object payload);
abstract member OnActivityImport : System.Diagnostics.Activity * obj -> unit
override this.OnActivityImport : System.Diagnostics.Activity * obj -> unit
Public Overridable Sub OnActivityImport (activity As Activity, payload As Object)

Parâmetros

activity
Activity

A atividade afetada por um evento externo.

payload
Object

Um conteúdo que representa a solicitação de entrada.

Comentários

Se um site de instrumentação criar uma nova atividade em resposta a algum evento fora do processo, como uma solicitação HTTP de entrada, o OnActivityImport método permitirá que esse site queira criar uma nova atividade e transferir o estado da solicitação de entrada para a atividade.

Na medida do possível, isso deve ser feito pelo site de instrumentação, pois há um contrato entre o Activity e a lógica de solicitação de entrada no site de instrumentação. No entanto, o site de instrumentação não pode lidar com a política. (Por exemplo, se a amostragem for feita, exatamente quais solicitações devem ser amostradas?) Nesses casos, o site de instrumentação precisa chamar de volta para o sistema de registro em log e pedir que ele resolve política (por exemplo, para decidir se o bit de "amostragem" da atividade deve ser definido). Essa é a finalidade do OnActivityImport método . Ele recebe a atividade, bem como um objeto de conteúdo que representa a solicitação de entrada. Os assinantes do DiagnosticSource então têm a oportunidade de atualizar essa atividade conforme desejado.

Esse método raramente é usado em sites de instrumentação (somente os sites que estão no limite do processo) e o site de instrução implementa alguma política padrão (define a atividade de alguma forma) e, portanto, não é necessário substituir esse método se essa política padrão estiver boa. Em outras palavras, esse método deve ser substituído em casos muito raros (mas muitas vezes importantes).

Observe que payload é digitado como Object aqui, mas qualquer site de instrumentação específico e assinante saberá o tipo do conteúdo e, portanto, o converterá e decodificará, se necessário.

Aplica-se a