पर अपग्रेड करें लेनदेन के अंदर निबर्ननेट और एडीओ.Net संचालन का उपयोग करते समय मुझे निम्नलिखित अपवाद मिल रहा है Scope.Eg। यह निबर्ननेट 2.1 के साथ ठीक था लेकिन अब 3.0 तक अपग्रेड किया गया है जो त्रुटि फेंकता है।ट्रांज़ेक्शनस्कोप त्रुटि के साथ निबर्ननेट - डीटीसी लेनदेन प्रीपेर चरण विफल - निबर्ननेट 3.0
using (var scope = new TransactionScope(TransactionScopeOption.Required))
{
GetmemberId(); --> NHibernate Call
Update(); ADO Call OracleDB
}
के बाद से इस रूप में परिवेश लेन-देन में कार्य करता है, Nhibernate जल्द ही लेन-देन निपटाने की कोशिश करता है से पहले बाहरी लेन-देन मुझे completes.correct अगर मैं गलत हूँ, वहाँ किसी भी समाधान मेरी मदद क्योंकि है, लेकिन जब मैं Nhibernate कॉल के बाहर ले जाने के TransactionScope सब कुछ ठीक काम करता है। उदाहरण मैं दे दिया है नमूना एक है, खानों, एक अधिक जटिल एक शामिल है के बाद से मैं दोनों TransactionScope अंदर कॉल और त्रुटि Iam मिलती रहती है, 13 NHibernate.Impl.AbstractSessionImpl निम्नलिखित के रूप में है
त्रुटि - डीटीसी लेनदेन प्रीपे चरण विफल हुआ सिस्टम। ऑब्जेक्ट डिस्प्ले अपवाद: एक डिस्पोजेड ऑब्जेक्ट तक नहीं पहुंच सकता है। ऑब्जेक्ट का नाम: 'लेनदेन'। System.Transactions.Transaction.DependentClone System.Transactions.TransactionScope.SetCurrent पर (DependentCloneOption cloneOption) (लेन-देन newCurrent) System.Transactions.TransactionScope.PushScope पर()
012,351,
System.Transactions.TransactionScope.Initialize में (लेन-देन पर transactionToUse, TimeSpan 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 - डीटीसी लेनदेन प्रीपेर चरण विफल सिस्टम। ऑब्जेक्ट डिस्प्ले अपवाद: एक डिस्पोजेड ऑब्जेक्ट तक नहीं पहुंच सकता है। ऑब्जेक्ट का नाम: 'लेनदेन'। System.Transactions.Transaction.DependentClone System.Transactions.TransactionScope.SetCurrent पर (DependentCloneOption cloneOption) (लेन-देन newCurrent) System.Transactions.TransactionScope.PushScope पर()
System.Transactions.TransactionScope.Initialize में (लेन-देन पर NHibernate.Transaction.AdoNetWithDistributedTransactionFactory.DistributedTransactionContext.System.Transactions.IEnlistmentNotification.Prepare (preparingEnlistment preparingEnlistment पर System.Transactions.TransactionScope..ctor पर transactionToUse, TimeSpan scopeTimeout, बूलियन interopModeSpecified) (लेन-देन transactionToUse))
धन्यवाद! यह मेरे लिए भी काम किया! – Saxophonist