트랜잭션 Scope.Eg에서 Nhibernate 및 ADO.Net 작업을 사용할 때 다음 예외가 발생합니다. Nhibernate 2.1에서는 괜찮 았으나 이제 3.0으로 업그레이드되어 오류가 발생합니다. 이 같은 주변 트랜잭션을 역할을하기 때문에 만약 내가 잘못 외부 트랜잭션이 나를 completes.correct 전에TransactionScope에서 Nhibernate 오류 - DTC 트랜잭션 준비 단계 실패 - Nhibernate 3.0으로 업그레이드
using (var scope = new TransactionScope(TransactionScopeOption.Required))
{
GetmemberId(); --> NHibernate Call
Update(); ADO Call OracleDB
}
은, NHibernate에 곧 트랜잭션을 처리하려고 좀 도와 때문에 모든 솔루션이 있습니까,하지만 외부 NHibernate에 전화를 이동할 때 TransactionScope 모두 잘 작동합니다. 내가 준 예는 샘플 하나, 광산, 더 복잡한 일을 포함 내가 TransactionScope에 내부 전화와 스피가 점점 오류를 모두 유지해야하기 때문에
ERROR, 다음과 같은 13 NHibernate.Impl.AbstractSessionImpl입니다 - DTC 트랜잭션을 prepre 단계가 실패했습니다. System.ObjectDisposedException : 처리 된 개체에 액세스 할 수 없습니다. 개체 이름 : '거래'. System.Transactions.TransactionScope.PushScope에서 System.Transactions.TransactionScope.SetCurrent에서 System.Transactions.Transaction.DependentClone (DependentCloneOption cloneOption) (거래 newCurrent)() System.Transactions.TransactionScope.Initialize에서
012,351,
(트랜잭션에서 System.Transactions.TransactionScope..ctor에서 transactionToUse, 타임 스팬 scopeTimeout 부울 interopModeSpecified) NHibernate.Transaction.AdoNetWithDistributedTransactionFactory.DistributedTransactionContext.System.Transactions.IEnlistmentNotification.Prepare (preparingEnlistment preparingEnlistment에서 (트랜잭션 transactionToUse)) 2011-02- 08 13 : 41 : 46,033 오류 13 NHibernate.Impl.AbstractSessionImpl - DTC 트랜잭션 준비 단계 실패 System.ObjectDisposedException : 폐기 된 개체에 액세스 할 수 없습니다. 개체 이름 : '거래'. System.Transactions.TransactionScope.PushScope에서 System.Transactions.TransactionScope.SetCurrent에서 System.Transactions.Transaction.DependentClone (DependentCloneOption cloneOption) (거래 newCurrent)() System.Transactions.TransactionScope.Initialize에서
(트랜잭션에서 NHibernate.Transaction.AdoNetWithDistributedTransactionFactory.DistributedTransactionContext.System.Transactions.IEnlistmentNotification.Prepare (preparingEnlistment preparingEnlistment에서 System.Transactions.TransactionScope..ctor에서 transactionToUse, 타임 스팬 scopeTimeout 부울 interopModeSpecified) (트랜잭션 transactionToUse))
감사합니다. 그것은 나를 위해 일했습니다! – Saxophonist