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 형식에서는 다음과 같은 멤버를 노출합니다.
속성
이름 | 설명 | |
---|---|---|
![]() |
Context | 트랜잭션을 가져오고 클라이언트가 트랜잭션에 사용자 데이터를 추가할 수 있도록 설정합니다. |
![]() |
ContextInstance | 이 트랜잭션의 Context를 가져옵니다. |
![]() |
ForceAllRulesToCommitTime | 모든 중첩된 규칙이 현재 트랜잭션에 대한 LocalCommit 시간에 발생하도록 하는 플래그를 가져오거나 설정합니다. |
![]() |
HasPendingChanges | 트랜잭션을 가져오고 이 트랜잭션 동안 저장소가 변경되었는지 여부를 확인합니다. |
![]() |
HaveCommitTimeRulesFired | 커밋 시간 규칙이 실행되었는지 여부를 나타냅니다. |
![]() |
Id | 이 트랜잭션의 ID를 가져옵니다. |
![]() |
InRollback | 트랜잭션을 가져오고 이 트랜잭션이 롤백 중인지 여부를 확인합니다. |
![]() |
IsActive | 트랜잭션을 가져오고 이 트랜잭션이 처리 중인지 여부를 확인합니다. |
![]() |
IsHidden | 트랜잭션을 가져오고 트랜잭션이 숨겨져 있는지 여부를 확인합니다. |
![]() |
IsNested | 트랜잭션을 가져오고 트랜잭션이 다른 트랜잭션 내에 중첩되어 있는지 여부를 확인합니다. |
![]() |
IsSerializing | 트랜잭션을 가져오고 트랜잭션이 현재 serialize 중인지 여부를 확인합니다. |
![]() |
Name | 트랜잭션의 이름을 가져오거나 설정합니다. |
![]() |
Parent | 중첩된 트랜잭션에 할당되는 최상위 트랜잭션을 가져옵니다. |
![]() |
PartitionStates | 저장소에 있는 모든 파티션의 상태에 대한 정보를 가져옵니다. |
![]() |
SequenceNumber | 트랜잭션의 시퀀스 번호를 가져옵니다. |
![]() |
Store | 트랜잭션이 속한 저장소를 가져옵니다. |
![]() |
TopLevelTransaction | 트랜잭션 계층 구조의 최상위 트랜잭션을 가져옵니다. |
![]() |
TransactionDepth | 이 트랜잭션이 중첩된 트랜잭션의 수를 가져옵니다. |
위쪽
메서드
이름 | 설명 | |
---|---|---|
![]() |
Commit | 트랜잭션을 커밋합니다. |
![]() |
CreateObjRef | 보안 중요 원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다. (MarshalByRefObject에서 상속됨) |
![]() |
Dispose | 트랜잭션 상태를 삭제합니다. |
![]() |
Equals | 지정한 개체와 현재 개체가 같은지 여부를 확인합니다. (Object에서 상속됨) |
![]() |
Finalize | 트랜잭션을 종료합니다. (Object.Finalize()을(를) 재정의함) |
![]() |
GetHashCode | 기본 해시 함수로 작동합니다. (Object에서 상속됨) |
![]() |
GetLifetimeService | 보안 중요 이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다. (MarshalByRefObject에서 상속됨) |
![]() |
GetType | 현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨) |
![]() |
InitializeLifetimeService | 보안 중요 이 인스턴스의 수명 정책을 제어하기 위한 수명 서비스 개체를 가져옵니다. (MarshalByRefObject에서 상속됨) |
![]() |
MemberwiseClone() | 현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨) |
![]() |
MemberwiseClone(Boolean) | 현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다. (MarshalByRefObject에서 상속됨) |
![]() |
Rollback | 즉, 트랜잭션을 생성할 때의 상태로 Store가 다시 설정됩니다. |
![]() |
ToString | 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨) |
위쪽
확장 메서드
이름 | 설명 | |
---|---|---|
![]() |
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) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.