जब मैं डेटाबेस में डेटा सहेजता हूं तो मैंने ट्रांज़ेक्शनस्कोप को अलगाव लेवल सेट सेरियलज़ेबल में सेट किया था।ट्रांजैक्शनस्कोप अलगाव लेवल को लेनदेन को पूरा करने के बाद बदलें
TransactionOptions options = new TransactionOptions
{
IsolationLevel=IsolationLevel.Serializable
};
using (var transaction = new TransactionScope(TransactionScopeOption.Required,options))
{
transation.Complete();
}
अब के बाद निष्पादन खत्म हो गया है, मैं TransactionScopeIsolationLevel बदलना चाहते हैं।
संपादित
क्या मुझे समझ में है यह, IsolationLevel Serializable फिर लेन-देन पूरा करने के बाद, कनेक्शन वस्तु बंद कर दिया और कनेक्शन पूल में लौटने और जब कुछ अन्य अनुरोध आता है इसे से उस कनेक्शन वस्तु लाने के लिए सेट है, तो पूल और इस प्रकार पिछले अलगाव लेवल द्वारा प्रभावित। तो मैं प्रत्येक लेनदेन के बाद अलगाव स्तर को डिफ़ॉल्ट में बदलना चाहता हूं।
प्रतिक्रिया के लिए धन्यवाद, मैं अन्य बेहतर विकल्पों को स्वीकार करने के लिए तैयार हूं, लेकिन आप एक स्पष्ट लेनदेन के साथ सभी कनेक्शन खोलने का सुझाव दे रहे हैं, आपको नहीं लगता कि यह सिस्टम में बहुत सारे ओवरहेड लाएगा। मेरे पास सैकड़ों अंत अंक हैं, लेकिन केवल कुछ परिदृश्य हैं जहां मैं ट्रांज़ेक्शनस्कोप का उपयोग कर रहा हूं। ऐसी चीजों के लिए आप क्या सुझाव देते हैं? – MegaMind
लेनदेन ओवरहेड लगभग कुछ भी नहीं है क्योंकि सभी कथन किसी भी तरह के निहित लेनदेन का उपयोग करते हैं .; यदि आप सब कुछ माइग्रेट नहीं कर सकते हैं तो आपका दृष्टिकोण वास्तव में एक अच्छा विचार हो सकता है। एक हैक, लेकिन एक व्यावहारिक समाधान। मैं इसके साथ कोई बड़ी समस्या नहीं देख सकता। – usr
conn.ExecuteCommand ("सेट ट्रांज़ेक्शन इशोलेशन लेवल XXX") करता है; काम? क्या किसी ने कोशिश की है? – hazimdikenli