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のように入力されますが、特定のインストルメンテーション サイトとサブスクライバーはペイロードの種類を認識し、必要に応じてキャストおよびデコードします。