DiagnosticSource.OnActivityImport(Activity, Object) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將狀態傳輸給一些會在處理序外部發生的範圍或作業活動,例如傳入的要求。
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 ,但任何特定的檢測網站和訂閱者都會知道承載的類型,因此視需要轉換和譯碼。