次の方法で共有


DiagnosticSource.OnActivityExport(Activity, Object) メソッド

定義

送信される HTTP 要求など、プロセスの外で発生するイベントまたは操作にアクティビティから状態を転送します。

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)

パラメーター

activity
Activity

外部イベントの影響を受けるアクティビティ。

payload
Object

送信要求を表すオブジェクト。

注釈

インストルメンテーション サイトがアクティビティがプロセスを終了する場所 (送信 HTTP 要求など) にある場合、そのサイトはアクティビティから送信要求に状態を転送する必要があります。

インストルメンテーション サイトでは、 と実行中の要求ロジックの間 Activity にコントラクトがあるため、可能な限りインストルメンテーション サイトでこれを行う必要があります。 ただし、インストルメンテーション サイトではポリシーを処理できません (たとえば、互換性上の理由から、アクティビティ情報を無効にするか、古い形式で書き込む必要があるかなど)。 このためには、インストルメンテーション サイトからログ システムにコールバックし、ポリシーの解決を依頼する必要があります。 これが メソッドの OnActivityExport 目的です。

メソッドには OnActivityExport 、 と、送信要求を表すペイロード オブジェクトが指定 Activity されます。 その後、 DiagnosticSource サブスクライバーは送信要求を送信前に更新できます。

このメソッドは、インストルメンテーション サイトではほとんど使用されない点に注意してください (プロセスの発信境界にあるサイトのみ)。 さらに、通常、インストルメンテーション サイトが実行する既定のポリシー (たとえば、特定の送信規則ですべてのアクティビティ状態を転送する場合) は問題ありません。 この方法は、それが問題である場合にのみ使用されます。 したがって、この方法は非常にまれに使用する必要があり、主にと将来の校正との OnActivityImport 共生のためにここにあります。

payloadは ここで として型指定Objectされますが、特定のインストルメンテーション サイトとサブスクライバーはペイロードの種類を認識し、必要に応じてキャストしてデコードする必要があります。

適用対象