ExecutionContext 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
管理目前執行緒的執行內容。 此類別無法獲得繼承。
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 提供 Capture 和 CreateCopy 方法來取得執行內容,以及 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) |