클래스 트랜잭션
Realm 을 안전하게 읽고 쓸 수 있는 범위를 제공합니다. 을 통해 명시적으로 을 사용해야 합니다 .BeginWrite().
구현
네임스페이스: Realms
어셈블리: Realm.exe
구문
public class Transaction : IDisposable
비고
속성
| 이 페이지 편집 소스 보기상태
이 트랜잭션의 상태를 가져옵니다.
선언
public TransactionState State { get; }
속성 값
유형 | 설명 |
---|---|
TransactionState | 트랜잭션의 상태입니다. |
방법
| 이 페이지 편집 소스 보기Commit()
영역에 변경 사항을 저장하는 데 사용합니다. 트랜잭션 이 using
블록에서 선언된 경우 해당 차단이 종료되기 전에 사용해야 합니다.
선언
public void Commit()
CommitAsync(CancelationToken)
영역에 변경 사항을 저장하는 데 사용합니다. 트랜잭션 이 using
블록에서 선언된 경우 해당 차단이 종료되기 전에 사용해야 합니다. 변경 사항이 디스크에 효과적으로 기록되면 완료됩니다.
선언
public Task CommitAsync(CancellationToken cancellationToken = default)
매개변수
유형 | 이름 | 설명 |
---|---|---|
취소 토큰 | 취소 토큰 | 반환된 Task 에서의 대기를 중지하기 위한 선택적 취소 토큰입니다. |
반환
유형 | 설명 |
---|---|
작업 | 커밋된 변경 사항이 디스크에 효과적으로 기록되면 완료되는 대기 가능한 작업 입니다. |
비고
반환된 작업 을 취소해도 디스크에 쓰기가 방지되지는 않지만 TaskCanceledException 이 발생하는 작업은 즉시 해결됩니다. 실제로 커밋 조치는 중지할 수 없으며 백그라운드에서 완료될 때까지 계속 실행됩니다.
이 조치를 취소하는 사용 사례는 데이터가 저장되고 있음을 나타내는 팝업을 사용자에게 표시하려는 경우일 수 있습니다. 그러나 일정 시간이 지나면 이러한 팝업을 자동으로 닫고 싶습니다. 또는 사용자가 해당 팝업을 수동으로 닫을 수 있도록 허용할 수도 있습니다.
Dispose()
명시적으로 커밋되지 않은 경우 기존 범위에서 트랜잭션을 자동으로 Rollback() 합니다.
선언
public void Dispose()
Rollback()
Transaction 에서 변경 사항을 명시적으로 실행 취소하려면 를 사용하고, 그렇지 않으면 블록을 종료하면 자동으로 호출됩니다.
선언
public void Rollback()