共用方式為


CommitFailureHandler 類別

[此頁面專屬於 Entity Framework 第 6 版。最新版本可從 'Entity Framework' NuGet 套件取得。如需 Entity Framework 的詳細資訊,請參閱 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 的類別並將它傳遞至此類別的建構函式來設定。

執行緒安全

這個類型的任何 Public static (在 Visual Basic 中為 Shared) 成員都是安全執行緒。並非所有的執行個體成員都是安全執行緒。

請參閱

參考

System.Data.Entity.Infrastructure 命名空間