System.Transactions 네임스페이스
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
고유한 트랜잭션 애플리케이션과 리소스 관리자를 쓰는 데 사용할 수 있는 클래스가 포함되어 있습니다. 특히 참가자가 하나 이상인 트랜잭션(로컬 또는 분산)을 만들고 참가할 수 있습니다.
클래스
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
스를 사용하는 방법에 대한 자세한 내용은 트랜잭션 처리를 참조하세요.
.NET