ExecutionContext Kelas

Definisi

Mengelola konteks eksekusi untuk utas saat ini. Kelas ini tidak dapat diwariskan.

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
Warisan
ExecutionContext
Atribut
Penerapan

Keterangan

Kelas ini ExecutionContext menyediakan satu kontainer untuk semua informasi yang relevan dengan utas eksekusi logis. Dalam .NET Framework, ini mencakup konteks keamanan, konteks panggilan, dan konteks sinkronisasi. Dalam .NET Core, konteks keamanan dan konteks panggilan tidak didukung, namun, konteks dan budaya peniruan biasanya akan mengalir dengan konteks eksekusi. Juga dalam .NET Core, konteks sinkronisasi tidak mengalir dengan konteks eksekusi, sedangkan dalam .NET Framework mungkin dalam beberapa kasus. Untuk informasi selengkapnya, lihat ExecutionContext vs SynchronizationContext.

Kelas ini ExecutionContext menyediakan fungsionalitas bagi kode pengguna untuk mengambil dan mentransfer konteks ini di seluruh titik asinkron yang ditentukan pengguna. Runtime bahasa umum memastikan bahwa ExecutionContext ditransfer secara konsisten di seluruh titik asinkron yang ditentukan runtime dalam proses terkelola.

  • Berikut ini hanya berlaku untuk .NET Framework. -

Konteks eksekusi adalah yang dikelola setara dengan apartemen COM. Dalam domain aplikasi, seluruh konteks eksekusi harus ditransfer setiap kali utas ditransfer. Situasi ini terjadi selama transfer yang dilakukan oleh metode Thread.Start, sebagian besar operasi kumpulan utas, dan Formulir Windows thread marshaling melalui pompa pesan Windows. Ini tidak terjadi dalam operasi kumpulan utas yang tidak aman (seperti UnsafeQueueUserWorkItem metode ), yang tidak mentransfer tumpukan terkompresi. Di mana pun tumpukan terkompresi mengalir, prinsip terkelola, sinkronisasi, lokal, dan konteks pengguna juga mengalir. Kelas ExecutionContext menyediakan Capture metode dan CreateCopy untuk mendapatkan konteks eksekusi dan Run metode untuk mengatur konteks eksekusi untuk utas saat ini.

Yang ExecutionContext terkait dengan utas tidak dapat diatur pada utas lain. Mencoba melakukannya akan mengakibatkan pengecualian dilemparkan. Untuk menyebarluaskan ExecutionContext dari satu utas ke utas lainnya, buat salinan ExecutionContext.

Secara internal, ExecutionContext menyimpan semua data yang terkait dengan LogicalCallContext. Ini memungkinkan LogicalCallContext data disebarluaskan ketika disalin ExecutionContext dan ditransfer.

Metode

Nama Deskripsi
Capture()

Mengambil konteks eksekusi dari utas saat ini.

CreateCopy()

Membuat salinan konteks eksekusi saat ini.

Dispose()

Merilis semua sumber daya yang digunakan oleh instans ExecutionContext kelas saat ini.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetObjectData(SerializationInfo, StreamingContext)
Kedaluwarsa.

Mengatur objek yang ditentukan SerializationInfo dengan informasi konteks logis yang diperlukan untuk membuat ulang instans konteks eksekusi saat ini.

GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
IsFlowSuppressed()

Menunjukkan apakah alur konteks eksekusi saat ini ditekan.

MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
Restore(ExecutionContext)

Memulihkan konteks eksekusi yang diambil ke utas saat ini.

RestoreFlow()

Memulihkan alur konteks eksekusi di seluruh utas asinkron.

Run(ExecutionContext, ContextCallback, Object)

Menjalankan metode dalam konteks eksekusi tertentu pada utas saat ini.

SuppressFlow()

Menekan alur konteks eksekusi di seluruh utas asinkron.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk