DiagnosticSource.OnActivityExport(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.
Przesyła stan z działania do określonego zdarzenia lub operacji, takiego jak wychodzące żądanie HTTP, które nastąpi poza procesem.
public:
virtual void OnActivityExport(System::Diagnostics::Activity ^ activity, System::Object ^ payload);
public virtual void OnActivityExport (System.Diagnostics.Activity activity, object? payload);
public virtual void OnActivityExport (System.Diagnostics.Activity activity, object payload);
abstract member OnActivityExport : System.Diagnostics.Activity * obj -> unit
override this.OnActivityExport : System.Diagnostics.Activity * obj -> unit
Public Overridable Sub OnActivityExport (activity As Activity, payload As Object)
Parametry
- activity
- Activity
Działanie, na które ma wpływ zdarzenie zewnętrzne.
- payload
- Object
Obiekt reprezentujący żądanie wychodzące.
Uwagi
Jeśli lokacja instrumentacji znajduje się w lokalizacji, w której działania opuszczają proces (np. wychodzące żądania HTTP), ta witryna będzie chciała przenieść stan z działania do żądania wychodzącego.
W miarę możliwości należy to zrobić przez lokację instrumentacji, ponieważ istnieje kontrakt między logiką Activity żądania a ougoing w lokacji instrumentacji. Jednak witryna instrumentacji nie może obsługiwać zasad (na przykład, czy informacje o aktywności powinny być wyłączone, czy zapisane w starszym formacie ze względów zgodności).
W tym celu lokacja instrumentacji musi wywołać kopię zapasową systemu rejestrowania i poprosić o rozwiązanie zasad. Jest to cel OnActivityExport
metody .
Metoda OnActivityExport
otrzymuje Activity obiekt ładunku, który reprezentuje żądanie wychodzące. DiagnosticSource Subskrybent ma następnie możliwość zaktualizowania żądania wychodzącego przed wysłaniem.
Należy pamiętać, że ta metoda jest rzadko używana w lokacjach instrumentacji (tylko te lokacje, które znajdują się na granicy wychodzącej procesu). Ponadto zazwyczaj domyślne zasady wykonywane przez lokację instrumentacji (na przykład w celu przeniesienia całego stanu działania w określonej konwencji wychodzącej) mogą być w porządku. Ta metoda jest przeznaczona tylko w przypadkach, gdy jest to problem. W związku z tym ta metoda powinna być używana bardzo rzadko i jest tutaj głównie w przypadku symetrii z OnActivityImport
i przyszłego sprawdzania.
Należy pamiętać, że payload
jest wpisany w Object tym miejscu, ale każda konkretna witryna instrumentacji i subskrybent powinien znać typ ładunku, a tym samym rzutować i dekodować go w razie potrzeby.