다음을 통해 공유


System.Transactions 네임스페이스

고유한 트랜잭션 애플리케이션과 리소스 관리자를 쓰는 데 사용할 수 있는 클래스가 포함되어 있습니다. 특히 참가자가 하나 이상인 트랜잭션(로컬 또는 분산)을 만들고 참가할 수 있습니다.

클래스

CommittableTransaction

커밋할 수 있는 트랜잭션에 대해 설명합니다.

DependentTransaction

애플리케이션이 트랜잭션의 작업을 중지할 때까지 트랜잭션이 커밋되지 않도록 하는 트랜잭션 복제본에 대해 설명합니다. 이 클래스는 상속될 수 없습니다.

DistributedTransactionPermission

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

DistributedTransactionPermissionAttribute

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

Enlistment

트랜잭션의 마지막 단계에서 참여한 트랜잭션 참가 요소와 트랜잭션 관리자 간의 통신을 용이하게 합니다.

PreparingEnlistment

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

SinglePhaseEnlistment

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

SubordinateTransaction

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

Transaction

트랜잭션을 나타냅니다.

TransactionAbortedException

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

TransactionEventArgs

DistributedTransactionStarted, TransactionCompleted 트랜잭션 이벤트에 대한 데이터를 제공합니다.

TransactionException

새로운 작업을 수용할 수 없는 트랜잭션에서 작업을 시도하면 예외가 throw됩니다.

TransactionInDoubtException

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

TransactionInformation

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

TransactionInterop

System.Transactions와 구성 요소(MSDTC, COM+ 또는 System.EnterpriseServices와 상호 작용하도록 이전에 작성된 구성 요소) 간의 상호 작용을 원활하게 합니다. 이 클래스는 상속될 수 없습니다.

TransactionManager

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

TransactionManagerCommunicationException

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

TransactionPromotionException

승격에 실패한 경우에 throw되는 예외입니다.

TransactionScope

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

구조체

TransactionOptions

트랜잭션 동작을 지정하는 추가 정보가 들어 있습니다.

인터페이스

IDtcTransaction

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

IEnlistmentNotification

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

IPromotableSinglePhaseNotification

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

ISimpleTransactionSuperior

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

ISinglePhaseNotification

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

ITransactionPromoter

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

열거형

DependentCloneOption

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

EnlistmentOptions

준비 단계에서 개체를 참여시킬지 여부를 결정합니다.

EnterpriseServicesInteropOption

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

IsolationLevel

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

TransactionScopeAsyncFlowOption

스레드 연속 사이의 트랜잭션 흐름이 TransactionScope에 대해 설정되었는지 여부를 지정합니다.

TransactionScopeOption

트랜잭션 범위를 만드는 추가 옵션을 제공합니다.

TransactionStatus

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

대리자

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 티브 트랜잭션 관리자를 사용하면 휘발성 리소스 또는 단일 지속성 리소스 인리스트먼트가 효율적으로 커밋하거나 롤백할 수 있습니다. 리소스 관리자 구현에 대한 자세한 내용은 Resource Manager 구현을 참조하세요.

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

  • 동적 에스컬레이션- 즉, 인프라는 System.Transactions 실제로 트랜잭션에 필요한 경우에만 MSDTC를 사용합니다. 이 영역은 트랜잭션 관리 에스컬레이션 항목에서 자세히 설명합니다.

  • 트랜잭션에 참여하는 유일한 엔터티인 경우 데이터베이스와 같은 리소스가 트랜잭션의 소유권을 가져올 수 있도록 하는 승격 가능한 인리스트먼트입니다. 나중에 필요한 경우 인프라는 System.Transactions 트랜잭션 관리를 MSDTC로 에스컬레이션할 수 있습니다. 이 경우 MSDTC를 사용할 가능성이 줄어듭니다. 이 영역은 단일 단계 커밋 및 승격 가능한 단일 단계 알림 사용 최적화 항목에서 자세히 설명합니다.

네임스페이 System.Transactions 스를 사용하는 방법에 대한 자세한 내용은 트랜잭션 처리를 참조하세요.