हम वेब क्लाइंट, .NET 3.5sp1 का उपयोग Winforms एप्लिकेशन में कर रहे हैं। कुछ उपयोगकर्ताओं के लिए यह संदेश संदेश के साथ अपवाद में परिणाम:पुन: उत्पन्न करें "एक कनेक्शन जिसे जिंदा रखा जाने की उम्मीद थी सर्वर द्वारा बंद कर दिया गया था।"
"अंतर्निहित कनेक्शन बंद था: एक कनेक्शन जिसे जीवित रखा जाने की उम्मीद थी सर्वर द्वारा बंद कर दिया गया था।"
सर्च कर रहे हैं वेब के आसपास थोड़ा पता चलता है एक "ठीक" सिर्फ http keepalive है, जो हम वास्तव में करने में रुचि नहीं कर रहे हैं निष्क्रिय करने के लिए, कुछ चलता है कि यह नेट पुस्तकालयों में एक बग हो सकता है, आदि
त्रुटि संदेश से पता चलता है कि यह एक keepaliv'ed http कनेक्शन है जिसे किसी भी तरह से सर्वर (या प्रॉक्सी) द्वारा बंद कर दिया गया है, बिना वेब क्लाइंट के अंतर्निहित के ठीक से इसका पता लगाया गया है।
हम इस विशिष्ट मामले को पकड़ने की सोच रहे हैं, और बस अनुरोध को फिर से प्रयास करें। हालांकि हम इस अपवाद को पुन: पेश नहीं कर सकते हैं। इसलिए।
हम उपरोक्त त्रुटि संदेश उत्पन्न करने वाले मामले को सही तरीके से कैसे पकड़ सकते हैं।
पकड़ (WebException पूर्व) { अगर (ex.Message == "अंतर्निहित कनेक्शन बंद कर दिया गया था: एक कनेक्शन है कि जीवित रखा होने की उम्मीद थी सर्वर द्वारा बंद कर दिया गया था") {...}
बदबू आ रही है।
उपर्युक्त अपवाद को पुन: पेश करने के तरीके पर कोई सुझाव?
'चलता है कि यह हर किसी के नहीं है। क्या वे उपयोगकर्ता प्रॉक्सी के पीछे हैं (या तो स्पष्ट रूप से सेट हैं, या एक पारदर्शी प्रॉक्सी)? कॉर्पोरेट वातावरण में व्यस्त प्रॉक्सी सर्वर अनपेक्षित रूप से कनेक्शन छोड़ सकते हैं, इसलिए अपवाद। किसी भी तरह से, यह किसी प्रकार की नेटवर्क समस्या (क्लाइंट, होस्ट, या मध्यस्थ बिट्स) है, न कि .NET Framework में एक बग। –
आप शायद सही हैं कि यह एक नेटवर्क समस्या है। इस प्रकार हम अनुरोध को पुनः प्रयास करने का प्रयास करना चाहते हैं, यदि यह विशेष है, हालांकि हम सभी जानते हैं कि यह टेक्स्ट वेबएक्सप्शन से निकला है - तो क्या इस विशिष्ट उत्तेजना का पता लगाने के लिए एक विश्वसनीय तरीका है, कुछ विशिष्ट त्रुटि कोड या क्या नहीं? और हम इसे पुन: पेश करना चाहते हैं, इसलिए हम जांच कर सकते हैं कि अनुरोध को पुनः प्रयास करने से कुछ अन्य बुराई नहीं होती है जब "कनेक्शन बंद हो गया" होता है – Habalusa
मुझे एक ही त्रुटि मिल रही है जब मैं सेवा परत से बड़ा डेटा भेजने की कोशिश कर रहा हूं। कोई संकेत यह क्यों हो रहा है? –