DiagnosticSource.OnActivityImport(Activity, Object) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.