DiagnosticSource.OnActivityImport(Activity, Object) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przenosi stan do działania z jakiegoś zdarzenia lub operacji, na przykład żądania przychodzącego, które wystąpiło poza procesem.
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
Działanie, na które ma wpływ zdarzenie zewnętrzne.
- payload
- Object
Ładunek reprezentujący żądanie przychodzące.
Uwagi
Jeśli lokacja instrumentacji tworzy nowe działanie w odpowiedzi na jakieś zdarzenie poza procesem, takie jak przychodzące żądanie HTTP, OnActivityImport
metoda umożliwia tej lokacji utworzenie nowego działania i przeniesienie stanu z przychodzącego żądania do działania.
W miarę możliwości należy to zrobić przez lokację instrumentacji, ponieważ istnieje kontrakt między elementem Activity a logiką żądania przychodzącego w lokacji instrumentacji. Jednak witryna instrumentacji nie może obsłużyć zasad. (Na przykład jeśli próbkowanie zostało wykonane, dokładnie które żądania powinny być próbkowane?) W takich przypadkach lokacja instrumentacji musi zwrócić się do systemu rejestrowania i poprosić o rozwiązanie zasad (na przykład w celu określenia, czy należy ustawić bit próbkowania działania). Jest to cel OnActivityImport
metody . Otrzymuje ono działanie, a także obiekt ładunku, który reprezentuje żądanie przychodzące. Subskrybenci tego DiagnosticSource działania mają możliwość zaktualizowania tego działania zgodnie z potrzebami.
Ta metoda jest rzadko używana w lokacjach instrumentacji (tylko te lokacje, które znajdują się na granicy procesu), a lokacja intruzacji implementuje pewne domyślne zasady (ustawia działanie w jakiś sposób) i dlatego nie jest konieczne zastąpienie tej metody, jeśli te domyślne zasady są poprawne. Innymi słowy, ta metoda powinna być zastępowana w bardzo rzadkich (ale często ważnych) przypadkach.
Należy pamiętać, że payload
jest on wpisany w Object tym miejscu, ale każda konkretna lokacja instrumentacji i subskrybent będą wiedzieć o typie ładunku, a tym samym rzutować i dekodować go w razie potrzeby.