DiagnosticSource.OnActivityImport(Activity, Object) Metodo

Definizione

Trasferisce lo stato a un'attività da un evento o un'operazione, ad esempio una richiesta in ingresso, che si è verificata all'esterno del 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)

Parametri

activity
Activity

Attività interessata da un evento esterno.

payload
Object

Payload che rappresenta la richiesta in ingresso.

Commenti

Se un sito di strumentazione crea una nuova attività in risposta a un evento esterno al processo, ad esempio una richiesta HTTP in ingresso, il OnActivityImport metodo consente al sito di creare una nuova attività e trasferire lo stato dalla richiesta in ingresso all'attività.

Per quanto possibile, questa operazione deve essere eseguita dal sito di strumentazione, perché esiste un contratto tra e Activity la logica di richiesta in ingresso nel sito di strumentazione. Tuttavia, il sito di strumentazione non può gestire i criteri. Ad esempio, se viene eseguito il campionamento, esattamente quali richieste devono essere campionate? In questi casi, il sito di strumentazione deve richiamare il sistema di registrazione e chiedergli di risolvere i criteri, ad esempio per decidere se deve essere impostato il bit di "campionamento" dell'attività. Questo è lo scopo del OnActivityImport metodo . Viene assegnata l'attività e un oggetto payload che rappresenta la richiesta in ingresso. I sottoscrittori dell'oggetto DiagnosticSource hanno quindi la possibilità di aggiornare questa attività in base alle esigenze.

Questo metodo viene usato raramente nei siti di strumentazione (solo i siti che si trovano al limite del processo) e il sito di instrumetazione implementa alcuni criteri predefiniti (imposta l'attività in qualche modo) e quindi non è necessario eseguire l'override di questo metodo se il criterio predefinito è corretto. In altre parole, questo metodo deve essere sottoposto a override in casi molto rari (ma spesso importanti).

Si noti che payload è tipizzato come Object qui, ma qualsiasi sito di strumentazione e sottoscrittore specifico conoscerà il tipo del payload e quindi eseguirà il cast e decodificarlo, se necessario.

Si applica a