다음을 통해 공유


Transaction 클래스

트랜잭션은 저장소에 대한 변경 사항이 커밋되거나 롤백될 수 있는 그룹으로 처리되도록 합니다.

상속 계층 구조

System.Object
  System.MarshalByRefObject
    Microsoft.VisualStudio.Modeling.Transaction

네임스페이스:  Microsoft.VisualStudio.Modeling
어셈블리:  Microsoft.VisualStudio.Modeling.Sdk.12.0(Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)

구문

‘선언
Public Class Transaction _
    Inherits MarshalByRefObject _
    Implements IDisposable
public class Transaction : MarshalByRefObject, 
    IDisposable

Transaction 형식에서는 다음과 같은 멤버를 노출합니다.

속성

  이름 설명
Public 속성 Context 트랜잭션을 가져오고 클라이언트가 트랜잭션에 사용자 데이터를 추가할 수 있도록 설정합니다.
Public 속성 ContextInstance 이 트랜잭션의 Context를 가져옵니다.
Public 속성 ForceAllRulesToCommitTime 모든 중첩된 규칙이 현재 트랜잭션에 대한 LocalCommit 시간에 발생하도록 하는 플래그를 가져오거나 설정합니다.
Public 속성 HasPendingChanges 트랜잭션을 가져오고 이 트랜잭션 동안 저장소가 변경되었는지 여부를 확인합니다.
Public 속성 HaveCommitTimeRulesFired 커밋 시간 규칙이 실행되었는지 여부를 나타냅니다.
Public 속성 Id 이 트랜잭션의 ID를 가져옵니다.
Public 속성 InRollback 트랜잭션을 가져오고 이 트랜잭션이 롤백 중인지 여부를 확인합니다.
Public 속성 IsActive 트랜잭션을 가져오고 이 트랜잭션이 처리 중인지 여부를 확인합니다.
Public 속성 IsHidden 트랜잭션을 가져오고 트랜잭션이 숨겨져 있는지 여부를 확인합니다.
Public 속성 IsNested 트랜잭션을 가져오고 트랜잭션이 다른 트랜잭션 내에 중첩되어 있는지 여부를 확인합니다.
Public 속성 IsSerializing 트랜잭션을 가져오고 트랜잭션이 현재 serialize 중인지 여부를 확인합니다.
Public 속성 Name 트랜잭션의 이름을 가져오거나 설정합니다.
Public 속성 Parent 중첩된 트랜잭션에 할당되는 최상위 트랜잭션을 가져옵니다.
Public 속성 PartitionStates 저장소에 있는 모든 파티션의 상태에 대한 정보를 가져옵니다.
Public 속성 SequenceNumber 트랜잭션의 시퀀스 번호를 가져옵니다.
Public 속성 Store 트랜잭션이 속한 저장소를 가져옵니다.
Public 속성 TopLevelTransaction 트랜잭션 계층 구조의 최상위 트랜잭션을 가져옵니다.
Public 속성 TransactionDepth 이 트랜잭션이 중첩된 트랜잭션의 수를 가져옵니다.

위쪽

메서드

  이름 설명
Public 메서드 Commit 트랜잭션을 커밋합니다.
Public 메서드 CreateObjRef 보안 중요 원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다. (MarshalByRefObject에서 상속됨)
Public 메서드 Dispose 트랜잭션 상태를 삭제합니다.
Public 메서드 Equals 지정한 개체와 현재 개체가 같은지 여부를 확인합니다. (Object에서 상속됨)
Protected 메서드 Finalize 트랜잭션을 종료합니다. (Object.Finalize()을(를) 재정의함)
Public 메서드 GetHashCode 기본 해시 함수로 작동합니다. (Object에서 상속됨)
Public 메서드 GetLifetimeService 보안 중요 이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다. (MarshalByRefObject에서 상속됨)
Public 메서드 GetType 현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드 InitializeLifetimeService 보안 중요 이 인스턴스의 수명 정책을 제어하기 위한 수명 서비스 개체를 가져옵니다. (MarshalByRefObject에서 상속됨)
Protected 메서드 MemberwiseClone() 현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Protected 메서드 MemberwiseClone(Boolean) 현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다. (MarshalByRefObject에서 상속됨)
Public 메서드 Rollback 즉, 트랜잭션을 생성할 때의 상태로 Store가 다시 설정됩니다.
Public 메서드 ToString 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)

위쪽

확장 메서드

  이름 설명
Public 확장 메서드 GetSerializationContext 지정된 트랜잭션의 컨텍스트에서 SerializationContext active를 가져옵니다.SerializationContext는 트랜잭션을 serialize하는 TranactionContext에 저장됩니다.트랜잭션이 중첩되면 SerializationContext를 사용하여 가장 가까운 바깥쪽 serialization 트랜잭션을 찾기 위해 트랜잭션 스택을 검색합니다. (SerializationContextTransactionExtensions에서 정의됨)

위쪽

설명

트랜잭션 그룹 변경 수 있습니다. 또한 그 이후 단계에서 취소할 수 있도록 트랜잭션에서 수행 되는 작업을 추적 합니다.

변경 내용은 저장소 트랜잭션 중에 수행 되어야 합니다. 트랜잭션이 커밋되면 저장소 변경 됩니다. 트랜잭션이 로컬 트랜잭션이 커밋될 때 또는 최상위 트랜잭션이 커밋될 때 해당 변경 내용을 적용 하는 저장소를 사용할 수 있습니다. 로컬 트랜잭션은 최상위 트랜잭션에 중첩 됩니다. 중첩 된 트랜잭션을 해야 커밋하거나 다음 최상위 트랜잭션 커밋 또는 롤백 수 다시 전에. 자세한 내용은 TransactionDepth 속성에 대한 예제를 참조하십시오.

트랜잭션 또한 발생 하는 작업의 추적. 그러면 이후 단계를 다시 실행 또는 실행 취소 될 작업 그룹의 UndoManager 속성입니다.

트랜잭션이 삭제 해야 합니다. 이 사용 하 여 수행할 수 있습니다의 Dispose 메서드 또는 트랜잭션을 만들어는 Using 생성. 삭제 되 면 트랜잭션이 커밋되지 않은 경우 트랜잭션이 자동으로 롤백됩니다 및 변경 내용이 취소 됩니다.

예제

다음 예제에서는 저장소를 수정 하는 트랜잭션을 보여 줍니다. 트랜잭션이 커밋됩니다. 트랜잭션이 롤백되면 저장소 변경 내용이 취소 됩니다. 트랜잭션이 끝날 때 자동으로 삭제 되는 using 블록.

using (Transaction txCreateElem =  model.Store.TransactionManager.BeginTransaction("Create named element")
{
  A a = new A(store);
  a.Name = "Fred";
  // Commit the transaction and add the named element to the model
  txCreateElem.Commit();
}

예제와 자세한 정보를 보려면 Using Transactions.

스레드로부터의 안전성

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

참고 항목

참조

Microsoft.VisualStudio.Modeling 네임스페이스