다음을 통해 공유


CommitFailureHandler 클래스

정의

트랜잭션 추적 정보를 데이터베이스에 저장하여 트랜잭션 커밋 중에 연결 오류로부터 정상적으로 복구할 수 있는 트랜잭션 처리기입니다. 를 사용하여 SetDefaultTransactionHandler(Func<TransactionHandler>)등록해야 합니다.

public class CommitFailureHandler : System.Data.Entity.Infrastructure.TransactionHandler
type CommitFailureHandler = class
    inherit TransactionHandler
Public Class CommitFailureHandler
Inherits TransactionHandler
상속
CommitFailureHandler

설명

이 트랜잭션 처리기는 를 사용하여 TransactionContext 해당 재정의에서 TransactionContext 파생된 클래스를 만들고 이 클래스의 생성자에 전달하여 스키마를 구성할 수 있는 트랜잭션 정보를 저장합니다 OnModelCreating(DbModelBuilder) .

생성자

CommitFailureHandler()

기본 TransactionContext을 사용하여 클래스의 CommitFailureHandler 새 instance 초기화합니다.

CommitFailureHandler(Func<DbConnection,TransactionContext>)

CommitFailureHandler 클래스의 새 인스턴스를 초기화합니다.

속성

Connection

연결을 가져옵니다.

(다음에서 상속됨 TransactionHandler)
DbContext

컨텍스트를 가져옵니다.

(다음에서 상속됨 TransactionHandler)
IsDisposed

이 트랜잭션 처리기가 삭제되었는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 TransactionHandler)
ObjectContext

컨텍스트를 가져옵니다.

(다음에서 상속됨 TransactionHandler)
PruningLimit

트랜잭션 로그를 정리하기 전에 컨텍스트에서 실행할 트랜잭션 수를 가져옵니다. 기본값은 20입니다.

TransactionContext

트랜잭션 컨텍스트를 가져옵니다.

Transactions

저장소 트랜잭션과 트랜잭션 추적 개체 간의 맵

메서드

BeganTransaction(DbConnection, BeginTransactionInterceptionContext)

새 트랜잭션에 대한 추적 정보를 동일한 트랜잭션의 데이터베이스에 저장합니다.

BeginningTransaction(DbConnection, BeginTransactionInterceptionContext)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
BuildDatabaseInitializationScript()

파생 클래스에서 구현되는 경우 이 트랜잭션 처리기에 대한 데이터베이스를 준비하는 스크립트를 반환합니다.

ClearTransactionHistory()

모든 트랜잭션 기록을 제거합니다.

ClearTransactionHistoryAsync()

모든 트랜잭션 기록을 비동기적으로 제거합니다.

ClearTransactionHistoryAsync(CancellationToken)

모든 트랜잭션 기록을 비동기적으로 제거합니다.

Closed(DbConnection, DbConnectionInterceptionContext)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
Closing(DbConnection, DbConnectionInterceptionContext)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
Committed(DbTransaction, DbTransactionInterceptionContext)

throw된 예외가 있는 경우 데이터베이스에서 이 트랜잭션을 확인하고 찾을 수 없는 경우 다시 발생합니다. 그렇지 않으면 커밋을 성공으로 표시하고 삭제할 트랜잭션 정보를 큐에 대기합니다.

Committing(DbTransaction, DbTransactionInterceptionContext)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
ConnectionGetting(DbTransaction, DbTransactionInterceptionContext<DbConnection>)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
ConnectionGot(DbTransaction, DbTransactionInterceptionContext<DbConnection>)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
ConnectionStringGetting(DbConnection, DbConnectionInterceptionContext<String>)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
ConnectionStringGot(DbConnection, DbConnectionInterceptionContext<String>)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
ConnectionStringSet(DbConnection, DbConnectionPropertyInterceptionContext<String>)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
ConnectionStringSetting(DbConnection, DbConnectionPropertyInterceptionContext<String>)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
ConnectionTimeoutGetting(DbConnection, DbConnectionInterceptionContext<Int32>)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
ConnectionTimeoutGot(DbConnection, DbConnectionInterceptionContext<Int32>)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
DatabaseGetting(DbConnection, DbConnectionInterceptionContext<String>)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
DatabaseGot(DbConnection, DbConnectionInterceptionContext<String>)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
DataSourceGetting(DbConnection, DbConnectionInterceptionContext<String>)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
DataSourceGot(DbConnection, DbConnectionInterceptionContext<String>)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
Dispose()

트랜잭션 추적 정보를 데이터베이스에 저장하여 트랜잭션 커밋 중에 연결 오류로부터 정상적으로 복구할 수 있는 트랜잭션 처리기입니다. 를 사용하여 SetDefaultTransactionHandler(Func<TransactionHandler>)등록해야 합니다.

(다음에서 상속됨 TransactionHandler)
Dispose(Boolean)

이 트랜잭션 처리기에서 사용하는 리소스를 해제합니다.

Disposed(DbConnection, DbConnectionInterceptionContext)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
Disposed(DbTransaction, DbTransactionInterceptionContext)

삭제된 트랜잭션 추적을 중지합니다.

Disposing(DbConnection, DbConnectionInterceptionContext)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
Disposing(DbTransaction, DbTransactionInterceptionContext)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
EnlistedTransaction(DbConnection, EnlistTransactionInterceptionContext)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
EnlistingTransaction(DbConnection, EnlistTransactionInterceptionContext)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
FromContext(DbContext)

CommitFailureHandler 에 연결된 context 가 있으면 를 가져오고, 그렇지 않으면 를 반환합니다null.

FromContext(ObjectContext)

CommitFailureHandler 에 연결된 context 가 있으면 를 가져오고, 그렇지 않으면 를 반환합니다null.

GetExecutionStrategy()

트랜잭션 로그를 큐에 추가하는 데 사용할 의 IDbExecutionStrategy 새 instance 만듭니다. null이면 기본값이 사용됩니다.

Initialize(DbContext, DbConnection)

지정된 컨텍스트를 사용하여 이 instance 초기화합니다.

Initialize(ObjectContext)

지정된 컨텍스트를 사용하여 이 instance 초기화합니다.

IsolationLevelGetting(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
IsolationLevelGot(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
MarkTransactionForPruning(TransactionRow)

데이터베이스에서 제거할 수 있는 트랜잭션 목록에 지정된 트랜잭션을 추가합니다.

MatchesParentContext(DbConnection, DbInterceptionContext)

제공된 가로채기 컨텍스트에 대상 컨텍스트가 포함되어 있는지 또는 제공된 연결이 대상 컨텍스트에서 사용하는 연결과 같은지 확인합니다.

(다음에서 상속됨 TransactionHandler)
Opened(DbConnection, DbConnectionInterceptionContext)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
Opening(DbConnection, DbConnectionInterceptionContext)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
PruneTransactionHistory()

삭제로 표시된 트랜잭션을 제거합니다.

PruneTransactionHistory(Boolean, Boolean)

해당 숫자가 를 초과하는 경우 삭제로 표시된 트랜잭션을 제거합니다.PruningLimit

PruneTransactionHistoryAsync()

삭제로 표시된 트랜잭션을 비동기적으로 제거합니다.

PruneTransactionHistoryAsync(Boolean, Boolean, CancellationToken)

해당 숫자가 를 초과하는 경우 삭제로 표시된 트랜잭션을 제거합니다.PruningLimit

PruneTransactionHistoryAsync(CancellationToken)

삭제로 표시된 트랜잭션을 비동기적으로 제거합니다.

RolledBack(DbTransaction, DbTransactionInterceptionContext)

롤백된 트랜잭션 추적을 중지합니다.

RollingBack(DbTransaction, DbTransactionInterceptionContext)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
ServerVersionGetting(DbConnection, DbConnectionInterceptionContext<String>)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
ServerVersionGot(DbConnection, DbConnectionInterceptionContext<String>)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
StateGetting(DbConnection, DbConnectionInterceptionContext<ConnectionState>)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)
StateGot(DbConnection, DbConnectionInterceptionContext<ConnectionState>)

파생 클래스에서 구현할 수 있습니다.

(다음에서 상속됨 TransactionHandler)

적용 대상