자동 트랜잭션과 .NET Framework 클래스

NET Framework 클래스의 인스턴스는 자동 트랜잭션을 수행하도록 클래스를 준비한 경우에만 자동 트랜잭션에 참여할 수 있습니다. 클래스 인스턴스 또는 개체에서 액세스한 모든 리소스가 트랜잭션에 참여합니다. 예를 들어, 개체가 ADO.NET을 사용하여 데이터베이스의 계정에 금액을 게시하면 데이터베이스의 리소스 관리자는 트랜잭션 내에서 개체의 실행 여부를 결정합니다. 개체가 트랜잭션 내에서 실행되는 경우에는 자동으로 해당 데이터베이스를 트랜잭션에 참여시킵니다.

개체를 트랜잭션에 참여시키려면 개체 클래스에 TransactionAttribute 특성을 적용합니다. Transaction 특성을 적용할 때에는 Transaction, transaction, TransactionAttribute 및 transactionattribute를 교대로 사용할 수 있습니다.

자동 트랜잭션에 참여하는 클래스를 준비하는 절차는 방법: .NET Framework 클래스에서 자동 트랜잭션 사용에 자세히 설명되어 있습니다.

Transaction 특성은 TransactionOption 열거를 매개 변수로 사용하는 생성자를 사용합니다. 다음 표에서는 TransactionOption 열거에 사용할 수 있는 값을 설명합니다.

특성 값 설명

Disabled

해당 개체의 자동 트랜잭션 제어를 제거합니다. 이 특성 값이 적용된 개체는 DTC(Distributed Transaction Coordinator)에 직접 연결하여 트랜잭션 지원을 받을 수 있습니다.

[Transaction(TransactionOption.Disabled)]

NotSupported

해당 개체가 트랜잭션 범위 내에서 실행되지 않음을 나타냅니다. 요청이 처리되면 활성화된 트랜잭션의 존재 여부와 상관없이 해당 개체 컨텍스트가 트랜잭션 없이 만들어집니다.

[Transaction(TransactionOption.NotSupported)]

Supported

트랜잭션이 있을 경우에는 해당 개체가 기존 트랜잭션의 컨텍스트에서 실행됨을 나타냅니다. 트랜잭션이 없을 경우에는 해당 개체가 트랜잭션 없이 실행됩니다.

[Transaction(TransactionOption.Supported)]

Required

(기본값)

해당 개체에 트랜잭션이 필요함을 나타냅니다. 트랜잭션이 있을 경우에는 개체가 기존 트랜잭션 범위에서 실행되고, 트랜잭션이 없을 경우에는 개체가 트랜잭션을 시작합니다.

[Transaction(TransactionOption.Required)]

RequiresNew

해당 개체에 트랜잭션이 필요하며 요청마다 새 트랜잭션이 시작됨을 나타냅니다.

[Transaction(TransactionOption.RequiresNew)]

참고 항목

작업

방법: .NET Framework 클래스에서 자동 트랜잭션 사용

개념

자동 트랜잭션에서의 응답

기타 리소스

서비스 구성 요소 작성

Footer image

Copyright © 2007 by Microsoft Corporation. All rights reserved.