System.Transactions 네임스페이스

고유한 트랜잭션 애플리케이션 및 리소스 관리자를 작성할 수 있는 클래스를 포함합니다. 특히 하나 이상의 참가자가 있는 트랜잭션(로컬 또는 분산)을 만들고 참여할 수 있습니다.

클래스

Name Description
CommittableTransaction

커밋 가능한 트랜잭션에 대해 설명합니다.

DependentTransaction

트랜잭션 작업에 대해 애플리케이션이 미사용될 때까지 트랜잭션을 커밋할 수 없음을 보장하는 트랜잭션의 복제본에 대해 설명합니다. 이 클래스는 상속할 수 없습니다.

DistributedTransactionPermission

트랜잭션 관리가 MSDTC로 에스컬레이션될 때 요구 System.Transactions 되는 권한입니다. 이 클래스는 상속할 수 없습니다.

DistributedTransactionPermissionAttribute

선언적 보안을 사용하여 코드에 DistributedTransactionPermission 보안 작업을 적용할 수 있습니다. 이 클래스는 상속할 수 없습니다.

Enlistment

트랜잭션의 마지막 단계에서는 인리스트먼트된 트랜잭션 참가자와 트랜잭션 관리자 간의 통신을 용이하게 합니다.

PreparingEnlistment

트랜잭션 준비 단계에서 참여 트랜잭션 참가자와 트랜잭션 관리자 간의 통신을 용이하게 합니다.

SinglePhaseEnlistment

알림이 수신될 때 단일 단계 커밋에 참여한 참가자와 트랜잭션 관리자 간의 통신을 용이하게 하는 콜백 집합을 SinglePhaseCommit(SinglePhaseEnlistment) 제공합니다.

SubordinateTransaction

위임할 수 있는 루트가 아닌 트랜잭션을 나타냅니다. 이 클래스는 상속할 수 없습니다.

Transaction

트랜잭션을 나타냅니다.

TransactionAbortedException

이미 롤백된 트랜잭션에 대해 작업을 시도하거나 트랜잭션을 커밋하려고 시도하고 트랜잭션이 중단될 때 throw되는 예외입니다.

TransactionEventArgs

다음 트랜잭션 이벤트에 DistributedTransactionStartedTransactionCompleted대한 데이터를 제공합니다.

TransactionException

새 작업을 수락할 수 없는 트랜잭션에서 작업을 수행하려고 할 때 throw되는 예외입니다.

TransactionInDoubtException

의심스러운 트랜잭션에 대해 작업을 시도하거나 트랜잭션을 커밋하려고 시도하고 트랜잭션이 InDoubt가 될 때 throw되는 예외입니다.

TransactionInformation

트랜잭션에 대한 추가 정보를 제공합니다.

TransactionInterop

MSDTC, COM+또는 System.EnterpriseServices와 상호 작용하기 위해 이전에 작성된 구성 요소 간의 System.Transactions 상호 작용을 용이하게 합니다. 이 클래스는 상속할 수 없습니다.

TransactionManager

트랜잭션 관리에 사용되는 메서드를 포함합니다. 이 클래스는 상속할 수 없습니다.

TransactionManagerCommunicationException

리소스 관리자가 트랜잭션 관리자와 통신할 수 없을 때 throw되는 예외입니다.

TransactionPromotionException

승격이 실패할 때 throw되는 예외입니다.

TransactionScope

코드 블록 트랜잭션을 만듭니다. 이 클래스는 상속할 수 없습니다.

구조체

Name Description
TransactionOptions

트랜잭션 동작을 지정하는 추가 정보를 포함합니다.

인터페이스

Name Description
IDtcTransaction

DTC 트랜잭션에 대해 설명합니다.

IEnlistmentNotification

리소스 관리자가 참여하도록 등록할 때 트랜잭션 관리자에 대해 2단계 커밋 알림 콜백을 제공하기 위해 구현해야 하는 인터페이스에 대해 설명합니다.

IPromotableSinglePhaseNotification

리소스 관리자 내부 분산되지 않은 트랜잭션에 대한 커밋 대리자 역할을 하는 개체에 대해 설명합니다.

ISimpleTransactionSuperior

루트 트랜잭션이 아니지만 MSDTC에서 관리하도록 에스컬레이션할 수 있는 트랜잭션을 나타냅니다.

ISinglePhaseNotification

트랜잭션에 참여하는 단일 단계 커밋 최적화를 지원하는 리소스 개체에 대해 설명합니다.

ITransactionPromoter

필요할 때 MSDTC에서 관리하도록 에스컬레이션할 수 있는 기존 트랜잭션에 대해 위임된 트랜잭션에 대해 설명합니다.

열거형

Name Description
DependentCloneOption

만들 종속 트랜잭션의 종류를 제어합니다.

EnlistmentOptions

준비 단계에서 개체를 등록해야 하는지 여부를 결정합니다.

EnterpriseServicesInteropOption

분산 트랜잭션이 COM+ 트랜잭션과 상호 작용하는 방법을 지정합니다.

IsolationLevel

트랜잭션의 격리 수준을 지정합니다.

TransactionScopeAsyncFlowOption

스레드 연속에서 트랜잭션 흐름이 TransactionScope사용할 수 있는지 여부를 지정합니다.

TransactionScopeOption

트랜잭션 범위를 만들기 위한 추가 옵션을 제공합니다.

TransactionStatus

분산 트랜잭션의 현재 상태를 설명합니다.

대리자

Name Description
HostCurrentTransactionCallback

호스팅 환경에서 자체 기본 개념을 제공하는 메커니즘을 Current제공합니다.

TransactionCompletedEventHandler

클래스의 이벤트를 처리하는 TransactionCompleted 메서드를 Transaction 나타냅니다.

TransactionStartedEventHandler

클래스의 이벤트를 처리 DistributedTransactionStarted 할 메서드를 TransactionManager 나타냅니다.

설명

System.Transactions 인프라는 SQL Server, ADO.NET, MSMQ 및 MSDTC(Microsoft Distributed Transaction Coordinator)에서 시작된 트랜잭션을 지원하여 플랫폼 전체에서 트랜잭션 프로그래밍을 간단하고 효율적으로 만듭니다. 클래스를 기반으로 Transaction 하는 명시적 프로그래밍 모델뿐만 아니라 인프라에서 트랜잭션을 자동으로 관리하는 클래스를 사용하는 TransactionScope 암시적 프로그래밍 모델을 모두 제공합니다. 개발을 위해 보다 쉬운 암시적 모델을 사용하는 것이 좋습니다. 트랜잭션 애플리케이션 작성에 대한 자세한 내용은 트랜잭션 애플리케이션 작성을 참조하세요.

System.Transactions 는 리소스 관리자를 구현하는 데 사용할 수 있는 형식도 제공합니다. 인프라에 네이 System.Transactions 티브인 트랜잭션 관리자를 사용하면 휘발성 리소스 또는 단일 지속성 리소스 인리스트먼트가 효율적으로 커밋 또는 롤백할 수 있습니다.

또한 트랜잭션 관리자는 추가 지속성 리소스 관리자가 트랜잭션에 참여하면 DTC와 같은 디스크 기반 트랜잭션 관리자를 통해 조정하여 로컬 트랜잭션을 분산 트랜잭션으로 투명하게 에스컬레이션합니다. 인프라가 향상된 성능을 제공하는 두 가지 주요 방법이 System.Transactions 있습니다.

  • 동적 에스컬레이션- 즉, 인프라는 System.Transactions 실제로 트랜잭션에 필요한 경우에만 MSDTC를 사용합니다.

  • 트랜잭션에 참여하는 유일한 엔터티인 경우 데이터베이스와 같은 리소스가 트랜잭션의 소유권을 가져올 수 있도록 하는 승격 가능한 인리스트먼트입니다. 나중에 필요한 경우 인프라는 System.Transactions 트랜잭션 관리를 MSDTC로 에스컬레이션할 수 있습니다. 이렇게 하면 MSDTC를 사용할 가능성이 줄어듭니다.