Поделиться через


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()

Инициализирует новый экземпляр класса , CommitFailureHandler используя значение по умолчанию TransactionContext.

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)

Если возникло исключение, проверяет базу данных на наличие этой транзакции и повторно выполняет ее, если она не найдена. В противном случае помечает фиксацию как выполненную и помещает в очередь удаляемые сведения о транзакциях.

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 для кверинга журнала транзакций. Если значение null, будет использоваться значение по умолчанию.

Initialize(DbContext, DbConnection)

Инициализирует этот экземпляр, используя указанный контекст.

Initialize(ObjectContext)

Инициализирует этот экземпляр, используя указанный контекст.

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)

Применяется к