在事務Scope.Eg中使用Nhibernate和ADO.Net操作時,出現以下異常。 Nhibernate 2.1沒問題,但現在升級到了3.0,導致錯誤。Nhibernate with TransactionScope錯誤 - DTC事務預先階段失敗 - 升級到Nhibernate 3.0
using (var scope = new TransactionScope(TransactionScopeOption.Required))
{
GetmemberId(); --> NHibernate Call
Update(); ADO Call OracleDB
}
由於這個作爲環境事務,NHibernate的嘗試很快就處理交易之前外部事務completes.correct我,如果我錯了,有沒有什麼辦法,因爲幫助我,但是當我向外移動的NHibernate的通話TransactionScope一切正常。我已經給出的例子是一個樣本,礦山涉及更復雜的一個,因爲我有保持內外的TransactionScope的電話和蔭收到錯誤是如下,
錯誤13 NHibernate.Impl.AbstractSessionImpl - DTC事務prepre 階段失敗System.ObjectDisposedException:無法訪問處置的 對象。對象名稱:'交易'。在 System.Transactions.Transaction.DependentClone(DependentCloneOption cloneOption)在 System.Transactions.TransactionScope.SetCurrent(事務 newCurrent)在System.Transactions.TransactionScope.PushScope()
在System.Transactions.TransactionScope.Initialize(事務 transactionToUse,時間跨度scopeTimeout,布爾interopModeSpecified) 在System.Transactions.TransactionScope..ctor(事務 transactionToUse)在 NHibernate.Transaction.AdoNetWithDistributedTransactionFactory.DistributedTransactionContext.System.Transactions.IEnlistmentNotification.Prepare(PreparingEnlistment preparingEnlistment)2011-02- 08 13:41:46,033錯誤13 NHibernate.Impl.AbstractSessionImpl - DTC事務prepre階段 失敗System.ObjectDisposedException:無法訪問處置的 對象。對象名稱:'交易'。在 System.Transactions.Transaction.DependentClone(DependentCloneOption cloneOption)在 System.Transactions.TransactionScope.SetCurrent(事務 newCurrent)在System.Transactions.TransactionScope.PushScope()
在System.Transactions.TransactionScope.Initialize(事務 transactionToUse,時間跨度scopeTimeout,布爾interopModeSpecified) 在System.Transactions.TransactionScope..ctor(事務 transactionToUse)在 NHibernate.Transaction.AdoNetWithDistributedTransactionFactory.DistributedTransactionContext.System.Transactions.IEnlistmentNotification.Prepare(preparingEnlistment preparingEnlistment)
謝謝!它也適用於我! – Saxophonist 2015-02-09 12:05:14