다음을 통해 공유


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 사용자 코드가 사용자 정의 비동기 지점에서 이 컨텍스트를 캡처하고 전송하는 기능을 제공합니다. 공용 언어 런타임은 관리되는 프로세스 내에서 런타임 정의 비동기 지점에서 일관되게 전송되도록 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)

적용 대상