ExecutionContext クラス

定義

現在のスレッドの実行コンテキストを管理します。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
継承
ExecutionContext
属性
実装

注釈

クラス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には、実行CreateCopyコンテキストを取得するメソッドとRunメソッド、および現在のスレッドの実行コンテキストを設定するメソッドがCapture用意されています。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から別のスレッドに伝達するには、 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. これによりLogicalCallContextExecutionContextをコピーして転送するときに、データを伝達できます。This allows the LogicalCallContext data to be propagated when the ExecutionContext is copied and transferred.

メソッド

Capture()

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

CreateCopy()

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

Dispose()

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

Equals(Object)

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

(継承元 Object)
GetHashCode()

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

(継承元 Object)
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()

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

(継承元 Object)
IsFlowSuppressed()

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

MemberwiseClone()

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

(継承元 Object)
RestoreFlow()

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

Run(ExecutionContext, ContextCallback, Object)

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

SuppressFlow()

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

ToString()

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

(継承元 Object)

適用対象