Bagikan melalui


DiagnosticSource.OnActivityImport(Activity, Object) Metode

Definisi

Mentransfer status ke aktivitas dari beberapa peristiwa atau operasi, seperti permintaan masuk, yang terjadi di luar proses.

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)

Parameter

activity
Activity

Aktivitas yang dipengaruhi oleh peristiwa eksternal.

payload
Object

Payload yang mewakili permintaan masuk.

Keterangan

Jika situs instrumentasi membuat aktivitas baru sebagai respons terhadap beberapa peristiwa di luar proses, seperti permintaan HTTP masuk), metode ini memungkinkan situs tersebut OnActivityImport ingin membuat aktivitas baru dan mentransfer status dari permintaan masuk ke aktivitas.

Sejauh mungkin, ini harus dilakukan oleh situs instrumentasi, karena ada kontrak antara Activity logika permintaan masuk dan di situs instrumentasi. Namun, situs instrumentasi tidak dapat menangani kebijakan. (Misalnya, jika pengambilan sampel dilakukan, tepatnya permintaan mana yang harus diambil sampelnya?) Dalam kasus ini, situs instrumentasi perlu memanggil kembali ke sistem pengelogan dan memintanya untuk menyelesaikan kebijakan (misalnya, untuk memutuskan apakah bit "pengambilan sampel" aktivitas harus ditetapkan). Ini adalah tujuan dari metode ini OnActivityImport . Ini diberikan aktivitas serta objek payload yang mewakili permintaan masuk. Pelanggan untuk DiagnosticSource kemudian memiliki kesempatan untuk memperbarui aktivitas ini seperti yang diinginkan.

Metode ini jarang digunakan di situs instrumentasi (hanya situs-situs yang berada di batas proses), dan situs instrumetasi menerapkan beberapa kebijakan default (mengatur aktivitas dalam beberapa cara), sehingga tidak perlu mengambil alih metode ini jika kebijakan default tersebut baik-baik saja. Dengan kata lain, metode ini harus ditimpa dalam kasus yang sangat jarang (tetapi sering penting).

Perhatikan bahwa payload diketik seperti Object di sini, tetapi setiap situs instrumentasi dan pelanggan tertentu akan mengetahui jenis payload dan dengan demikian mentransmisikan dan mendekodenya jika perlu.

Berlaku untuk