ExecutionContext 類別

定義

管理目前執行緒的執行內容。 此類別無法獲得繼承。

public ref class ExecutionContext sealed
public ref class ExecutionContext sealed : IDisposable, System::Runtime::Serialization::ISerializable
public ref class ExecutionContext sealed : System::Runtime::Serialization::ISerializable
public sealed class ExecutionContext
public sealed class ExecutionContext : IDisposable, System.Runtime.Serialization.ISerializable
[System.Serializable]
public sealed class ExecutionContext : System.Runtime.Serialization.ISerializable
[System.Serializable]
public sealed class ExecutionContext : IDisposable, System.Runtime.Serialization.ISerializable
type ExecutionContext = class
type ExecutionContext = class
    interface IDisposable
    interface ISerializable
[<System.Serializable>]
type ExecutionContext = class
    interface ISerializable
[<System.Serializable>]
type ExecutionContext = class
    interface IDisposable
    interface ISerializable
Public NotInheritable Class ExecutionContext
Public NotInheritable Class ExecutionContext
Implements IDisposable, ISerializable
Public NotInheritable Class ExecutionContext
Implements ISerializable
繼承
ExecutionContext
屬性
實作

備註

類別 ExecutionContext 會針對與邏輯執行緒執行相關的所有資訊,提供單一容器。 在.NET Framework中,這包括安全性內容、呼叫內容和同步處理內容。 在 .NET Core 中,不支援安全性內容和呼叫內容,不過,模擬內容和文化特性通常會隨著執行內容流動。 此外,在 .NET Core 中,同步處理內容不會與執行內容一起流動,而在.NET Framework在某些情況下可能。 如需詳細資訊,請參閱 ExecutionCoNtext 與 SynchronizationCoNtext

類別 ExecutionContext 提供使用者程式碼的功能,可擷取和傳輸此內容到使用者定義的非同步點。 Common Language Runtime 可確保 ExecutionContext 一致地在 Managed 進程內跨執行時間定義的非同步點傳輸 。

  • 下列僅適用于.NET Framework。 -

執行內容是 COM Apartment 的 Managed 對等專案。 在應用程式域中,每當傳送執行緒時,都必須傳送整個執行內容。 此方法、 Thread.Start 大部分執行緒集區作業,以及透過 Windows 訊息幫浦封送處理Windows Forms執行緒封送處理期間,就會發生這種情況。 它不會出現在不安全的執行緒集區作業 (,例如 UnsafeQueueUserWorkItem 不會傳輸壓縮堆疊的方法) 。 無論壓縮的堆疊流程在哪裡,受控主體、同步處理、地區設定和使用者內容也會流動。 類別 ExecutionContext 提供 CaptureCreateCopy 方法來取得執行內容,以及 Run 設定目前線程執行內容的方法。

ExecutionContext無法在另一個執行緒上設定與執行緒相關聯的 。 嘗試這樣做會導致擲回例外狀況。 若要將 從一個執行緒傳播 ExecutionContext 到另一個執行緒,請建立 的 ExecutionContext 複本。

在內部,會 ExecutionContext 儲存與 相關聯的 LogicalCallContext 所有資料。 這允許 LogicalCallContext 在複製和傳輸 時 ExecutionContext 傳播資料。

方法

Capture()

從目前的執行緒擷取執行內容。

CreateCopy()

建立目前執行內容的複本。

Dispose()

釋放 ExecutionContext 類別目前的執行個體所使用的全部資源。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetObjectData(SerializationInfo, StreamingContext)

設定具有所需邏輯內容資訊的指定 SerializationInfo 物件,以重新建立目前執行內容的執行個體。

GetType()

取得目前執行個體的 Type

(繼承來源 Object)
IsFlowSuppressed()

指出目前是否已抑制執行內容的流量。

MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
Restore(ExecutionContext)

在目前執行緒上還原擷取的執行內容。

RestoreFlow()

還原執行內容在非同步執行緒之間的流量。

Run(ExecutionContext, ContextCallback, Object)

在目前執行緒上的指定執行內容中執行方法。

SuppressFlow()

抑制執行內容在非同步執行緒之間的流量。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

適用於