ExecutionContext ExecutionContext ExecutionContext ExecutionContext Class

定義

現在のスレッドの実行コンテキストを管理します。Manages the execution context for the current thread. このクラスは継承できません。This class cannot be inherited.

public ref class ExecutionContext sealed : IDisposable, System::Runtime::Serialization::ISerializable
[System.Serializable]
public sealed class ExecutionContext : IDisposable, System.Runtime.Serialization.ISerializable
type ExecutionContext = class
    interface IDisposable
    interface ISerializable
Public NotInheritable Class ExecutionContext
Implements IDisposable, ISerializable
継承
ExecutionContextExecutionContextExecutionContextExecutionContext
属性
実装

注釈

ExecutionContextクラスは、実行の論理スレッドに関連するすべての情報の 1 つのコンテナーを提供します。The ExecutionContext class provides a single container for all information relevant to a logical thread of execution. これには、セキュリティ コンテキストや、呼び出しのコンテキストの同期コンテキストが含まれます。This includes security context, call context, and synchronization context.

ExecutionContextクラスには、ユーザー コードをキャプチャし、ユーザー定義の非同期ポイント間で、このコンテキストを転送するための機能が用意されています。The ExecutionContext class provides the functionality for user code to capture and transfer this context across user-defined asynchronous points. 共通言語ランタイムにより、ExecutionContextマネージ プロセス内ランタイム定義の非同期ポイント間で一貫して転送します。The common language runtime ensures that the ExecutionContext is consistently transferred across runtime-defined asynchronous points within the managed process.

実行コンテキストは、COM アパートメントに対応するマネージです。An execution context is the managed equivalent of a COM apartment. アプリケーション ドメイン内でスレッドを転送するたびに、全体の実行コンテキストを転送する必要があります。Within an application domain, the entire execution context must be transferred whenever a thread is transferred. による転送中にこのような状況が発生した、Thread.Startメソッド、ほとんどのスレッド プールの操作、および Windows フォームのスレッドでの Windows メッセージ ポンプをマーシャ リングします。This situation occurs during transfers made by the Thread.Start method, most thread pool operations, and Windows Forms thread marshaling through the Windows message pump. 安全でないスレッド プールの操作では発生しません (など、UnsafeQueueUserWorkItemメソッド)、圧縮スタックは転送されません。It does not occur in unsafe thread pool operations (such as the UnsafeQueueUserWorkItem method), which do not transfer the compressed stack. 圧縮スタックは、次のフロー、どこにも管理対象のプリンシパル、同期、ロケール、およびユーザーのコンテキストもフローします。Wherever the compressed stack flows, the managed principal, synchronization, locale, and user context also flow. ExecutionContextクラスを提供します、CaptureCreateCopy実行コンテキストを取得するメソッドとRun現在のスレッドの実行コンテキストを設定します。The ExecutionContext class provides the Capture and CreateCopy methods to get the execution context and the Run method to set the execution context for the current thread.

ExecutionContext関連付けられているスレッドでは、別のスレッドで設定できません。An ExecutionContext that is associated with a thread cannot be set on another thread. これを行うにしようとすると、例外がスローが発生します。Attempting to do so will result in an exception being thrown. 反映されるまで、ExecutionContext別に 1 つのスレッドからのコピーを作成、ExecutionContextします。To propagate the ExecutionContext from one thread to another, make a copy of the ExecutionContext.

内部的には、ExecutionContextに関連付けられているすべてのデータを格納、LogicalCallContextします。Internally, the ExecutionContext stores all data that is associated with the LogicalCallContext. これにより、LogicalCallContextにいつ反映されるデータ、ExecutionContextがコピーされ、転送します。This allows the LogicalCallContext data to be propagated when the ExecutionContext is copied and transferred.

メソッド

Capture() Capture() Capture() Capture()

現在のスレッドから実行コンテキストをキャプチャします。Captures the execution context from the current thread.

CreateCopy() CreateCopy() CreateCopy() CreateCopy()

現在の実行コンテキストのコピーを作成します。Creates a copy of the current execution context.

Dispose() Dispose() Dispose() Dispose()

ExecutionContext クラスの現在のインスタンスによって使用されているすべてのリソースを解放します。Releases all resources used by the current instance of the ExecutionContext class.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

現在の実行コンテキストのインスタンスを再作成するのに必要な論理コンテキスト情報を使用して、指定した SerializationInfo オブジェクトを設定します。Sets the specified SerializationInfo object with the logical context information needed to recreate an instance of the current execution context.

GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
IsFlowSuppressed() IsFlowSuppressed() IsFlowSuppressed() IsFlowSuppressed()

実行コンテキストのフローが現在抑制されているかどうかを示します。Indicates whether the flow of the execution context is currently suppressed.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
RestoreFlow() RestoreFlow() RestoreFlow() RestoreFlow()

複数の非同期スレッド間における実行コンテキストのフローを復元します。Restores the flow of the execution context across asynchronous threads.

Run(ExecutionContext, ContextCallback, Object) Run(ExecutionContext, ContextCallback, Object) Run(ExecutionContext, ContextCallback, Object) Run(ExecutionContext, ContextCallback, Object)

現在のスレッドで指定した実行コンテキストを使用してメソッドを実行します。Runs a method in a specified execution context on the current thread.

SuppressFlow() SuppressFlow() SuppressFlow() SuppressFlow()

複数の非同期スレッド間における実行コンテキストのフローを抑制します。Suppresses the flow of the execution context across asynchronous threads.

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

適用対象