DiagnosticSource.OnActivityImport(Activity, Object) 方法

定義

將狀態傳輸給一些會在處理序外部發生的範圍或作業活動,例如傳入的要求。

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)

參數

activity
Activity

受外部事件影響的活動。

payload
Object

表示傳入要求的承載。

備註

如果檢測網站建立新的活動以響應進程外部的某些事件,例如傳入的 HTTP 要求) , OnActivityImport 此方法可讓該網站建立新的活動,並將狀態從傳入要求傳送至活動。

在可能的情況下,這應該由檢測月臺完成,因為 檢測月臺的 與傳入要求邏輯之間 Activity 有合約。 不過,檢測網站無法處理原則。 (例如,如果取樣完成,則應該取樣哪些要求?) 在這些情況下,檢測網站必須回呼記錄系統,並要求它解析原則 (,以決定是否應該設定活動的「取樣」位) 。 這是方法的 OnActivityImport 用途。 它會提供活動以及代表傳入要求的承載物件。 接著,訂閱者 DiagnosticSource 有機會視需要更新此活動。

這個方法很少用於檢測月臺, (只有進程界限上的月臺) ,而結構網站會實作一些默認原則, (它會 以某種 方式設定活動) ,因此如果默認原則正常,就不需要覆寫此方法。 換句話說,這個方法應該在非常罕見的 (中覆寫,但通常是重要的) 案例。

請注意, payload 類型如下 Object ,但任何特定的檢測網站和訂閱者都會知道承載的類型,因此視需要轉換和譯碼。

適用於