Jazyk

DiagnosticSource.OnActivityImport(Activity, Object) Metoda

Definice

Přenese stav do aktivity z nějaké události nebo operace, například příchozího požadavku, ke kterému došlo mimo proces.

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)

Parametry

activity
Activity

Aktivita ovlivněná externí událostí.

payload
Object

Datová část, která představuje příchozí požadavek.

Poznámky

Pokud lokalita instrumentace vytvoří novou aktivitu v reakci na určitou událost mimo proces, jako je například příchozí požadavek HTTP), OnActivityImport metoda umožňuje této lokalitě vytvořit novou aktivitu a přenést stav z příchozího požadavku do aktivity.

V rozsahu by to měla provést lokalita instrumentace, protože mezi lokalitou instrumentace a logikou příchozích požadavků v lokalitě instrumentace existuje smlouva Activity . Web instrumentace ale nemůže zpracovat zásady. (Pokud se například vzorkování provádí, přesně jaké požadavky by se měly vzorkovat?) V těchto případech musí lokalita instrumentace zavolat zpět do systému protokolování a požádat ji o vyřešení zásad (například rozhodnout, jestli se má nastavit bit vzorkování aktivity). Toto je účel OnActivityImport metody. Poskytuje aktivitu i objekt datové části, který představuje příchozí požadavek. Předplatitelé DiagnosticSource pak budou mít možnost podle potřeby tuto aktivitu aktualizovat.

Tato metoda se zřídka používá v lokalitách instrumentace (pouze ty lokality, které jsou na hranici procesu) a lokalita instrumetace implementuje některé výchozí zásady (nastavuje aktivitu nějakým způsobem), a proto není nutné tuto metodu přepsat, pokud je tato výchozí zásada v pořádku. Jinými slovy, tato metoda by měla být přepsána ve velmi vzácných (ale často důležitých) případech.

Všimněte si, že payload se zde píše Object , ale každá konkrétní lokalita instrumentace a odběratel budou znát typ datové části, a proto ji v případě potřeby přetypovat a dekódovat.

Platí pro