Transaction 클래스
트랜잭션 저장소에 대 한 변경 내용을 커밋 또는 롤백되는 그룹으로 처리 됩니다 있는지 확인 합니다.
상속 계층 구조
System.Object
System.MarshalByRefObject
Microsoft.VisualStudio.Modeling.Transaction
네임스페이스: Microsoft.VisualStudio.Modeling
어셈블리: Microsoft.VisualStudio.Modeling.Sdk.11.0(Microsoft.VisualStudio.Modeling.Sdk.11.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 | 트랜잭션을 가져오고 현재 트랜잭션을 직렬화 하는지 여부를 확인 합니다. | |
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 | 트랜잭션을 만들 때 상태 저장소가 다시 설정 됩니다. | |
ToString | 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨) |
위쪽
확장 메서드
이름 | 설명 | |
---|---|---|
GetSerializationContext | Serializationcontext는 현재 지정 된 트랜잭션 컨텍스트를 가져옵니다.트랜잭션을 직렬화 하는 작업의 Tranactioncontext에는 Serializationcontext에 저장 됩니다.트랜잭션이 중첩 되어 있을 경우 트랜잭션 스택이 가장 가까운 바깥쪽을 찾기 위해 검색 Serializationcontext는 트랜잭션을 직렬화 합니다. (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) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.