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.
Transferuje stan z działania do określonego zdarzenia lub operacji, takiego jak wychodzące żądanie HTTP, które wystą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 Activity a logiką żądania operacyjnego w lokacji instrumentacji. Jednak lokacja instrumentacji nie może obsłużyć zasad (na przykład tego, 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ć ponownie system rejestrowania i poprosić o rozwiązanie zasad. Jest to cel OnActivityExport metody .
Metoda OnActivityExport jest podawana jako obiekt ładunku Activity , który reprezentuje żądanie wychodzące. Subskrybent DiagnosticSource może następnie zaktualizować żądanie wychodzące przed wysłaniem.
Należy pamiętać, że ta metoda jest rzadko używana w lokacjach instrumentacji (tylko te witryny, które znajdują się na granicy wychodzącej procesu). Co więcej, 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 dotyczy tylko przypadków, gdy jest to problem. W związku z tym ta metoda powinna być używana bardzo rzadko i jest tutaj głównie do symetrii z OnActivityImport i sprawdzania przyszłości.
Należy pamiętać, że payload element jest wpisany w Object tym miejscu, ale każda określona lokacja instrumentacji i subskrybent powinien znać typ ładunku, a tym samym rzutować i dekodować go w razie potrzeby.