DiagnosticSource.OnActivityImport(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 o 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 a lógica de Activity solicitação de entrada e a lógica 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 resolva a 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 carga 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 instrumetaçã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.