मेरे पास दो लेन-देन स्कॉप्स हैं, एक दूसरे के भीतर। मुझे यह जानना अच्छा लगेगा कि आंतरिक लेनदेन के दायरे को पूरा करने के बाद वापस ले जाया जाएगा और बाहरी व्यक्ति पूरा नहीं होता है।बाहरी लेनदेन का दायरा पूरा नहीं होने पर आंतरिक लेनदेन का दायरा वापस आ जाएगा?
उत्तर
चूंकि वे घोंसले हैं, आंतरिक लेनदेन वापस रोल करेगा।
यह पूरी कहानी नहीं है, और यह निर्भर करता है कि आप नेस्टेड लेनदेन कैसे बनाते हैं, लेकिन डिफ़ॉल्ट रूप से, यह वापस रोल करेगा।
This articleTransactionScope
के बारे में गहराई में जाता है और आपके अधिकांश प्रश्नों का उत्तर देना चाहिए।
वितरित किया जा रहा है या अप्रासंगिक नहीं है।
यह आपके द्वारा नेस्टेड लेन-देन के दायरे को शुरू करने के दायरे के विकल्प पर निर्भर करता है।
जब बाहरी गुंजाइश वापस रोल भीतरी गुंजाइश भी वापस तैयार की जाएगी, भले ही वह Complete
का आह्वान किया है आप डिफ़ॉल्ट विकल्प TransactionScopeOption.Required
का उपयोग करते हैं तो नेस्टेड गुंजाइश बाहरी गुंजाइश के रूप में ही लेन-देन में और इस तरह के रूप में भर्ती करेगा।
अगर, हालांकि, आप TransactionScopeOption.RequiresNew
का उपयोग तो नेस्टेड गुंजाइश अपने स्वयं के लेन-देन शुरू करते हैं और बाहरी दायरे से अलग से यह पूरा हो जाएगा, तो यह वापस रोल नहीं होगा, भले ही बाहरी गुंजाइश वापस रोल।
आप TransactionScopeOption.Suppress
का उपयोग करते हैं तो नेस्टेड गुंजाइश नहीं भाग बाहरी लेनदेन में ले जाएगा और गैर transactionally पूरा हो जाएगा, इस प्रकार काम है कि वापस लुढ़का किया जाएगा का हिस्सा नहीं है, तो बाहरी लेन-देन वापस रोल।
बिल्कुल सही जवाब :) –
- 1. स्वायत्त लेनदेन का दायरा और
- 2. एसक्यूएल सर्वर में नेस्टेड लेनदेन में अलगाव का दायरा क्या है?
- 3. ini_set() प्रभाव का दायरा?
- 4. अनाम विधियों का दायरा
- 5. 'SET विदेशी_की_चेक = 0' का दायरा क्या है?
- 6. टाइमर जॉब फीचर का दायरा
- 7. टाइपपीफ का दायरा
- 8. रेलगाड़ी का दायरा और
- 9. आरआईड मानों का दायरा
- 10. HttpContext.Current.Items का दायरा
- 11. (स्ट्रिंग) अक्षर का दायरा
- 12. @@ rowcount का दायरा?
- 13. सिनात्रा चर का दायरा
- 14. System.setProperty का दायरा
- 15. वितरित लेनदेन पूरा हुआ। या तो इस सत्र को नए लेनदेन में जोड़ें या नल लेनदेन
- 16. HibernateDaoSupport, लेनदेन वापस
- 17. एमएक्ससीएसआर नियंत्रण रजिस्टर का दायरा?
- 18. में चर का दायरा सी ++
- 19. किसी फ़ंक्शन से वापस एक अद्वितीय_ptr का दायरा क्या है?
- 20. लेनदेन का उपयोग कैसे करें (लेनदेन शुरू करें, लेनदेन करें)?
- 21. ट्रांज़ेक्शनस्कोप लेनदेन वापस नहीं ले रहा
- 22. सत्र का दायरा स्टोरेज और लोकल स्टोरेज
- 23. स्विच केस में वेरिएबल का दायरा
- 24. एसक्यूएल सर्वर - लेनदेन त्रुटि पर वापस रोल?
- 25. पीडीओ: लेनदेन वापस रोल नहीं करते हैं?
- 26. express.js में मिडलवेयर कार्यों का दायरा
- 27. रूबी वैश्विक दायरा
- 28. लेनदेन के भीतर लेनदेन
- 29. लेनदेन का प्रचार व्यवहार
- 30. रेल का दायरा जो मूल्यों में नहीं है
@ फ्रांतिसेक ने वितरित लेनदेन का जिक्र किया। वितरित लेनदेन का उपयोग करके मैं कैसे जानूं? – Tebo
मुझे लगता है कि मैं गलत था। TransactionScope के साथ आपको शायद यह काम करने के लिए डीटीसी की आवश्यकता नहीं है। इसे http://msdn.microsoft.com/en-us/library/ms172152(v=vs.90).aspx पढ़ें: "हालांकि एक नेस्टेड स्कोप रूट स्कोप के परिवेश लेनदेन में शामिल हो सकता है, नेस्टेड स्कोप में पूर्ण कॉलिंग रूट दायरे पर कोई प्रभाव नहीं पड़ता है। केवल तभी जब रूट के सभी दायरे पिछले घोंसले के दायरे में लेनदेन करने के लिए वोट देते हैं, तो लेनदेन किया जाएगा। " –
मुझे यकीन है कि आप इसके बारे में जानते हैं, लेकिन ट्रांज़ेक्शनस्कोप के बारे में बात करते समय "आंतरिक लेनदेन" और "नेस्टेड लेनदेन" शब्द IMHO अनुचित हैं, क्योंकि वास्तव में कोई घोंसला लेनदेन नहीं है, लेकिन केवल नेस्टेड ट्रांज़ेक्शनस्कोप हैं। यदि आप TransactionScopeOption का चयन करते हैं। यह आवश्यक है कि यह केवल 1 बड़ा लेनदेन है और लेनदेनस्कोपऑप्शन के साथ। आवश्यकताएं हैं 2 वहां पूरी तरह से स्वतंत्र लेनदेन हैं, लेकिन वे घोंसले हुए लेनदेन (बंद) के अर्थ में घोंसले नहीं हैं। –