मुझे लगता है कि आपका परीक्षण ठीक है हालांकि आपको यह सुनिश्चित करना चाहिए कि आपको एक डीटीसी अपवाद मिल रहा है और कुछ अन्य अपवाद नहीं है।
कुछ अन्य चीजें आप कर सकता है:
तुम भी एसक्यूएल प्रोफाइलर चला सकते हैं और लेन-देन के तहत DTCTransaction का पता लगाने।
कोड के संदर्भ में, आप DistributedTransactionStarted ईवेंट को संभाल सकते हैं और एक वितरित लेनदेन शुरू होने पर एक संदेश लॉग कर सकते हैं।
या आप लेनदेन के अंत से पहले System.Transactions.Transaction.Current. TransactionInformation.DistributedIdentifier
लॉग इन करने के लिए केवल लॉग संदेश जोड़ सकते हैं। यदि मूल्य Guid.Empty {00000000-0000-0000-0000-000000000000} है तो यह एक वितरित लेनदेन नहीं है अन्यथा लेनदेन को एक वितरित लेनदेन में पदोन्नत किया गया है।
आपने कहा कि आप SQL Server 2008 का उपयोग कर रहे थे। .NET का कौन सा संस्करण आप उपयोग कर रहे हैं? क्या यह 3.5 है? यदि आप SQL Server 2008 and .NET 3.5 का उपयोग कर रहे हैं तो आप एक ही लेनदेन में एक ही डेटाबेस में एक ही लेनदेन में बढ़ने के बिना एकाधिक कनेक्शन (उसी कनेक्शन स्ट्रिंग का उपयोग करके) खोलने में सक्षम होना चाहिए। इसके लिए काम करने के लिए आपको दूसरा कनेक्शन खोलने से पहले पहले कनेक्शन को बंद करने की आवश्यकता है।
ऐसा लगता है कि सभी शर्तों को पूरा कर रहे हैं और लेन-देन अभी भी बढ़ रहे हैं, तो मैं करूंगा:
- डबल एसक्यूएल सर्वर अनुकूलता स्तर
- जांच जाँच कनेक्शन स्ट्रिंग यदि पूलिंग अक्षम किया गया है को देखने के लिए
- जांच देखने के लिए कि दो कनेक्शन एक लेन-देन
- पता लगाना में एक ही समय में खोला नहीं कर रहे हैं सभी लेन-देन को बढ़ावा दिया जा रहा है या केवल कुछ निश्चित परिस्थितियों में
अद्यतन:Distributed Transaction Coordinator(MSDTC) and Transaction FAQ एमएसडीटीसी संसाधनों की एक बड़ी सूची को एक साथ खींचता है।
स्रोत
2010-03-19 16:38:12
एमएसडीटीसी एक सुंदर ठोस उत्पाद है। क्या आप वाकई इसका परीक्षण करने की ज़रूरत है? – Steven
@ स्टेवन - मुझे यह जांचने की ज़रूरत है कि लेनदेन को बढ़ावा दिया जा रहा है या नहीं। स्थिति यह है कि लेनदेन को बढ़ावा नहीं दिया जाना चाहिए, लेकिन मेरे सहकर्मी का मानना था कि उन्हें पदोन्नत किया जा रहा है। हम आश्वस्त होने में कैसे सक्षम हैं? हम कैसे जांचते हैं कि लेनदेन को बढ़ावा दिया गया था या नहीं किया गया था? – Oded
@ ओडेड: यदि लेनदेन को बढ़ावा नहीं दिया जाना चाहिए, तो आप 'लेनदेनस्कोप' का उपयोग क्यों कर रहे हैं? – Steven