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 предоставляет функциональные возможности пользовательского кода для записи и передачи этого контекста между определяемыми пользователем асинхронными точками. Среда CLR обеспечивает ExecutionContext согласованность передачи между асинхронными точками, определенными средой выполнения, в управляемом процессе.
- Следующее применимо только к платформа .NET Framework. -
Контекст выполнения — это управляемый эквивалент com-квартиры. В домене приложения весь контекст выполнения должен передаваться при передаче потока. Эта ситуация возникает во время передачиThread.Start, выполняемой методом, большинство операций пула потоков и Windows Forms маршалинг потоков через насос сообщений Windows. Он не выполняется в небезопасных операциях пула потоков (например UnsafeQueueUserWorkItem , методе), которые не передают сжатый стек. Везде, где потоки сжатого стека, управляемый субъект, синхронизация, языковой стандарт и контекст пользователя также передаются. Класс ExecutionContext предоставляет методы Capture для CreateCopy получения контекста выполнения и Run метода для задания контекста выполнения для текущего потока.
Объект ExecutionContext , связанный с потоком, не может быть задан в другом потоке. Попытка сделать это приведет к возникновению исключения. Чтобы распространить ExecutionContext один поток на другой, создайте копию ExecutionContext.
Внутри хранилища ExecutionContext сохраняются все данные, связанные с .LogicalCallContext Это позволяет LogicalCallContext распространять данные при ExecutionContext копировании и передаче.
Capture() |
Перехватывает контекст выполнения из текущего потока. |
Create |
Создает копию текущего контекста выполнения. |
Dispose() |
Освобождает все ресурсы, используемые текущим экземпляром класса ExecutionContext. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
Get |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
Get |
Задает указанный объект SerializationInfo с информацией логического контекста необходимой для повторного создания экземпляра текущего контекста выполнения. |
Get |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
Is |
Указывает, подавляется ли в данное время поток контекста выполнения. |
Memberwise |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
Restore(Execution |
Восстанавливает сохраненный контекст выполнения в текущем потоке. |
Restore |
Восстанавливает перемещение контекста выполнения между асинхронными потоками. |
Run(Execution |
Выполняет метод в указанном контексте выполнения в текущем потоке. |
Suppress |
Подавляет перемещение контекста выполнения между асинхронными потоками. |
To |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |