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 사용자 코드가 사용자 정의 비동기 지점에서 이 컨텍스트를 캡처하고 전송하는 기능을 제공합니다. 공용 언어 런타임은 관리되는 프로세스 내에서 런타임 정의 비동기 지점에서 일관되게 전송되도록 ExecutionContext 합니다.
- 다음은 .NET Framework 경우에만 적용됩니다. -
실행 컨텍스트는 COM 아파트의 관리되는 컨텍스트입니다. 애플리케이션 도메인 내에서 전체 실행 컨텍스트 스레드가 전송 될 때마다 전송 되어야 합니다. 이 상황은 메서드, 대부분의 스레드 풀 작업 및 Windows 메시지 펌프를 통해 마샬링하는 Windows Forms 스레드를 전송 Thread.Start 하는 동안 발생합니다. 압축된 스택을 전송하지 않는 안전하지 않은 스레드 풀 작업(예: UnsafeQueueUserWorkItem 메서드)에서는 발생하지 않습니다. 압축된 스택이 흐르는 위치마다 관리되는 보안 주체, 동기화, 로캘 및 사용자 컨텍스트도 흐릅니다. 클래스는 ExecutionContext 현재 스레드에 CreateCopy Capture 대한 실행 컨텍스트를 설정하는 메서드 및 Run 실행 컨텍스트를 가져오는 메서드를 제공합니다.
ExecutionContext 스레드와 연결된 스레드는 다른 스레드에서 설정할 수 없습니다. 이렇게 하면 예외가 throw됩니다. 한 스레드에서 다른 스레드로 전파 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) |