Udostępnij za pośrednictwem


DiagnosticSource.OnActivityExport(Activity, Object) Metoda

Definicja

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.

Dotyczy