DiagnosticSource.OnActivityImport(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 para uma atividade a partir de algum evento ou operação, como um pedido recebido, 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
Uma carga útil que representa o pedido recebido.
Observações
Se um site de instrumentação cria uma nova atividade em resposta a algum evento fora do processo, como um pedido HTTP recebido), o OnActivityImport método permite que esse site queira criar uma nova atividade e transferir o estado do pedido recebido para a atividade.
Na medida do possível, isto deve ser feito pelo local de instrumentação, pois existe um contrato entre o Activity e a lógica de pedido de entrada no local de instrumentação. No entanto, o local de instrumentação não consegue lidar com a política. (Por exemplo, se for feita amostragem, quais os pedidos que devem ser amostrados exatamente?) Nestes casos, o local de instrumentação precisa de contactar novamente o sistema de registo e pedir-lhe que resolva a política (por exemplo, para decidir se o bit de "amostragem" da atividade deve ser definido). Este é o propósito do OnActivityImport método. Recebe a atividade, bem como um objeto de carga útil que representa o pedido recebido. Os subscritores DiagnosticSource têm então a oportunidade de atualizar esta atividade conforme desejado.
Este método raramente é usado em locais de instrumentação (apenas nos locais que estão na fronteira do processo), e o local de instrução implementa alguma política padrão (define a atividade de alguma forma), pelo que não é necessário sobrepor este método se essa política padrão estiver em condições. Por outras palavras, este método deve ser anulado em casos muito raros (mas frequentemente importantes).
Note que payload está digitado como Object aqui, mas qualquer local de instrumentação e assinante específico conhecerá o tipo da carga útil e, assim, a conjurará e decodificará se necessário.