CommitFailureHandler 类

[本页针对的是实体框架版本 6。最新版本以“实体框架”NuGet 包的形式提供。有关实体框架的更多信息,请参见 msdn.com/data/ef。]

表示事务处理程序,该程序允许在事务提交期间通过在数据库中存储事务跟踪信息,来从连接故障中正常恢复。 需要使用 SetDefaultTransactionHandler(Func<TransactionHandler>) 注册它。

继承层次结构

System.Object
  System.Data.Entity.Infrastructure.TransactionHandler
    System.Data.Entity.Infrastructure.CommitFailureHandler

命名空间:  System.Data.Entity.Infrastructure
程序集:  EntityFramework(在 EntityFramework.dll 中)

语法

声明
Public Class CommitFailureHandler _
    Inherits TransactionHandler
用法
Dim instance As CommitFailureHandler
public class CommitFailureHandler : TransactionHandler
public ref class CommitFailureHandler : public TransactionHandler
type CommitFailureHandler =  
    class 
        inherit TransactionHandler 
    end
public class CommitFailureHandler extends TransactionHandler

CommitFailureHandler 类型公开以下成员。

构造函数

  名称 描述
公共方法 CommitFailureHandler() 使用默认 TransactionContext 初始化 CommitFailureHandler 类的新实例。
公共方法 CommitFailureHandler(Func<DbConnection, TransactionContext>) 初始化 CommitFailureHandler 类的新实例。

顶部

属性

  名称 描述
公共属性 Connection 获取将对其处理事务操作的连接。 (继承自 TransactionHandler。)
公共属性 DbContext 获取将对其处理事务操作的连接。 (继承自 TransactionHandler。)
受保护的属性 IsDisposed 获取或设置一个值,以指示是否释放了此事务处理程序。 (继承自 TransactionHandler。)
公共属性 ObjectContext 获取将对其处理事务操作的连接。 (继承自 TransactionHandler。)
受保护的属性 PruningLimit 在清除事务日志之前获取要在上下文中执行的事务数。默认值为 20。
受保护的属性 TransactionContext 获取事务上下文。

顶部

方法

  名称 描述
公共方法 BeganTransaction 将新事务的跟踪信息存储到同一事务中的数据库。 (重写 TransactionHandler.BeganTransaction(DbConnection, BeginTransactionInterceptionContext)。)
公共方法 BeginningTransaction 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 BuildDatabaseInitializationScript 生成数据库初始化脚本。 (重写 TransactionHandler.BuildDatabaseInitializationScript()。)
公共方法 ClearTransactionHistory 删除所有事务历史记录。
公共方法 ClearTransactionHistoryAsync() 异步删除所有事务历史记录。
公共方法 ClearTransactionHistoryAsync(CancellationToken) 异步删除所有事务历史记录。
公共方法 Closed 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 Closing 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 Committed 如果引发了异常,请检查此事务的数据库,如果找不到,则会再次引发异常。否则将提交标记为成功并为将删除的事务信息进行排队。 (重写 TransactionHandler.Committed(DbTransaction, DbTransactionInterceptionContext)。)
公共方法 Committing 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 ConnectionGetting 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 ConnectionGot 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 ConnectionStringGetting 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 ConnectionStringGot 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 ConnectionStringSet 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 ConnectionStringSetting 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 ConnectionTimeoutGetting 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 ConnectionTimeoutGot 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 DatabaseGetting 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 DatabaseGot 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 DataSourceGetting 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 DataSourceGot 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 Dispose() 释放此事务处理程序占用的资源。 (继承自 TransactionHandler。)
受保护的方法 Dispose(Boolean) 释放此事务对象占用的资源。 (重写 TransactionHandler.Dispose(Boolean)。)
公共方法 Disposed(DbTransaction, DbTransactionInterceptionContext) 停止跟踪已处理的事务。 (重写 TransactionHandler.Disposed(DbTransaction, DbTransactionInterceptionContext)。)
公共方法 Disposed(DbConnection, DbConnectionInterceptionContext) 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 Disposing(DbConnection, DbConnectionInterceptionContext) 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 Disposing(DbTransaction, DbTransactionInterceptionContext) 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 EnlistedTransaction 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 EnlistingTransaction 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 Equals (继承自 Object。)
受保护的方法 Finalize (继承自 Object。)
公共方法静态成员 FromContext(DbContext) 获取与 context 关联的 CommitFailureHandler(如果存在);否则返回 null。
公共方法静态成员 FromContext(ObjectContext) 获取与 context 关联的 CommitFailureHandler(如果存在);否则返回 null。
公共方法 GetHashCode (继承自 Object。)
公共方法 GetType (继承自 Object。)
公共方法 Initialize(ObjectContext) 初始化实例的属性。 (重写 TransactionHandler.Initialize(ObjectContext)。)
公共方法 Initialize(DbContext, DbConnection) 初始化实例的属性。 (重写 TransactionHandler.Initialize(DbContext, DbConnection)。)
公共方法 IsolationLevelGetting 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 IsolationLevelGot 可在派生类中实现。 (继承自 TransactionHandler。)
受保护的方法 MarkTransactionForPruning 将指定事务添加到可从数据库中删除的事务列表
受保护的方法 MatchesParentContext 检查提供的侦听上下文是否包含目标上下文,或提供的连接与目标上下文使用的连接相同。 (继承自 TransactionHandler。)
受保护的方法 MemberwiseClone (继承自 Object。)
公共方法 Opened 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 Opening 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 PruneTransactionHistory() 删除标记为删除的事务。
受保护的方法 PruneTransactionHistory(Boolean, Boolean) 如果标记为删除的事务的数目超出 PruningLimit,则删除这些事务。
公共方法 PruneTransactionHistoryAsync() 异步删除标记为删除的事务。
公共方法 PruneTransactionHistoryAsync(CancellationToken) 异步删除标记为删除的事务。
受保护的方法 PruneTransactionHistoryAsync(Boolean, Boolean, CancellationToken) 如果标记为删除的事务的数目超出 PruningLimit,则删除这些事务。
公共方法 RolledBack 停止跟踪回滚的事务。 (重写 TransactionHandler.RolledBack(DbTransaction, DbTransactionInterceptionContext)。)
公共方法 RollingBack 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 ServerVersionGetting 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 ServerVersionGot 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 StateGetting 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 StateGot 可在派生类中实现。 (继承自 TransactionHandler。)
公共方法 ToString (继承自 Object。)

顶部

备注

此事务处理程序使用 TransactionContext 存储架构所使用的事务信息,可以通过创建从重写 OnModelCreating(DbModelBuilder)TransactionContext 派生的类并将其传递到此类的构造函数来配置此信息。

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参阅

参考

System.Data.Entity.Infrastructure 命名空间