बस यह देखने के लिए आप सभी को यह देखना चाहते थे कि क्या कोई उज्ज्वल विचार है क्योंकि मैंने पूरे दिन, रात और खोज के बाद मेरे सभी विचारों को समाप्त कर दिया है। समवर्ती उपयोग (सेलेनियम परीक्षण) के तहत जब हम जिन मुद्दों को डेटाबेस कनेक्टिविटी के आसपास हमेशा सामना कर रहे हैं, उदाहरण के लिए टाइमआउट, गिराए गए/बंद कनेक्शन, डेटाबेस सर्वर पहुंच योग्य नहीं है।Azure डेटाबेस समवर्ती उपयोग के मुद्दों
यह समस्या Azure तक सीमित प्रतीत होती है क्योंकि हमें उसी डेटाबेस पर समान सेलेनियम परीक्षण चलाने के दौरान स्थानीय स्तर पर समस्या का सामना करना पड़ रहा है (SQL Azure) ताकि यह इंगित हो सके कि यह SQL Azure में आउटबाउंड डेटाबेस कनेक्टिविटी के साथ कुछ समस्या।
- Azure क्षणिक गलती से निपटने - हम के लिए जगह में तर्क पुन: प्रयास जब वहाँ एसक्यूएल Azure सेवा के साथ ही अस्थायी समस्या है है: अब तक हम निम्नलिखित की कोशिश की है।
- संचार प्रोटोकॉल बदलें - हमने दोनों टीसीपी और नामित पाइप्स दोनों की कोशिश की है और हम दोनों के साथ एक ही समस्या का सामना करते हैं।
- डेटाबेस कनेक्शन टाइमआउट अंतराल समायोजित करें - हमने को बढ़ाने का प्रयास नहीं किया है।
- एकाधिक सक्रिय परिणाम समूह का जोड़ - हमने इसे कनेक्शन स्ट्रिंग में कोई फायदा नहीं हुआ है।
- प्रत्येक क्वेरी पर कनेक्शन स्टेट चेक - जब हम डेटाकॉन्टेक्स्ट लौटते हैं तो हम इसके कनेक्शन की जांच करते हैं और जहां आवश्यक हो फिर से खोलते हैं।
- कनेक्शन पूलिंग बंद कर दिया - हमने सफलता के बिना भी इसका प्रयास किया है।
बदला गया डिजाइन पैटर्न - हम भी काम डिजाइन पैटर्न, जहां डेटाबेस कनेक्शन थे ऊपर निकाल दिया जा रहा है और काम के हर इकाई के बाद का निपटारा की एक यूनिट को लागू करने की लंबाई करने के लिए चला गया, लेकिन इस आलसी लोड हो रहा है के साथ कहीं और कारण होने वाली समस्याओं , विधियों में ऑब्जेक्ट्स पास करना और यह बिंदु पर बहुत अधिक पुनर्विक्रय होता।
बदलें भूमिका आकार - अंत में मैं कोशिश करने के लिए सोच सकते हैं विंडोज Azure में किसी भी अंतर्निहित कनेक्शन संबंधी प्रतिबंधों के मामले अप भूमिका आकार करने के लिए है - कि वर्तमान की तैनाती है, इसलिए वहाँ अभी भी आधे से एक मौका यह काम हो सकता है है!
- DataContext वर्ग (DbContext फैली) जो एक कोड पहले एफई संदर्भ है:
साइट बुनियादी सुविधाओं के इस प्रकार है।
किसी भी मदद की सराहना की जाएगी।
अद्यतन: हमने वीएम आकार को मध्यम तक बढ़ा दिया और इसका मतलब यह था कि एक ही समस्या को और अधिक समय लगता था।
जब मुद्दों घटित शुरू कर दिया, एक टीम के सदस्य के विख्यात निम्न अपवाद उत्पन्न हुई:
InvalidOperationException: आदेश का निष्पादन एक खुली और उपलब्ध कनेक्शन की आवश्यकता है। कनेक्शन की वर्तमान स्थिति टूट गई है।
यह तब भी शुरू हुआ जब डेटाबेस को मारा जा रहा था (कोड के एक निश्चित क्षेत्र के लिए विशिष्ट नहीं था)।
उत्कृष्ट सवाल। +1 –
क्या आपने ईएफ के बजाय क्लासिक ADO.Net दृष्टिकोण के साथ प्रयास किया है? मुझे बताया गया था कि एसक्यूएल एज़ूर के साथ काम करते समय लोगों को एडीओ.Net की तुलना में ईएफ के साथ और अधिक समस्याएं थीं। –
@GauravMantri समस्या, सभी उपयोग एफई है इस और विभिन्न अन्य परियोजनाओं हम पहले से ही जंगल में वहाँ बाहर है, तो ADO.NET का उपयोग करने जा होगा दोनों एक समय लेने वाली और महंगा प्रक्रिया :) – mattytommo