2008-08-23 13 views
14

आईसीएमयूनेशन ऑब्जेक्ट पर बंद विधि दो प्रकार के अपवाद फेंक सकती है क्योंकि एमएसडीएन here की रूपरेखा तैयार करता है। मैं समझता हूं कि बंद विधि उन अपवादों को क्यों फेंक सकती है, लेकिन जो मुझे समझ में नहीं आ रहा है वह है कि सेवा प्रॉक्सी पर निपटान विधि क्यों बंद करें विधि को इसके बिना किसी प्रयास के कॉल करती है। क्या आपकी निपटान विधि एक ऐसी जगह नहीं है जहां आप यह सुनिश्चित करना चाहते हैं कि आप कोई अपवाद नहीं फेंकें?डब्लूसीएफ सेवा को बंद करना और निपटाना

उत्तर

9

यह .NET कोड में एक सामान्य डिजाइन पैटर्न प्रतीत होता है। यहाँ निपटान (के अलावा, विधि बंद() उपलब्ध कराने पर विचार करता है, तो पास क्षेत्र में मानक शब्दावली है Framework design guidelines

के एक संदर्भ से है),। ऐसा करते समय, यह महत्वपूर्ण है कि आप बंद कार्यान्वयन निपटान के समान बनाने के है,

यहाँ एक blog post जिसमें आप इस System.ServiceModel.ClientBase डिजाइन समस्या

+0

वीएस 2008 में डब्ल्यूसीएफ प्रॉक्सी जेनरेटर का उपयोग करते हुए कोड जब मैं सेवा संदर्भ जोड़ता हूं तो खराब कोड है क्योंकि निपटान (बंद) के लिए अच्छा अभ्यास नहीं है? – Kiquenet

9

हाँ के लिए वैकल्पिक हल मिल सकती है ... आम तौर पर निपटान उन स्थानों में से एक है जहां आप यह सुनिश्चित करना चाहते हैं कि अपवाद नहीं फेंक दिए गए हैं। हालांकि, इस एमएसडीएन forum thread के आधार पर इस व्यवहार के कुछ ऐतिहासिक कारण थे। इस प्रकार, अनुशंसित पैटर्न {बंद}/पकड़ {abort} प्रतिमान का प्रयास है।

+0

मुझे लिंक के लिए http://social.microsoft.com/error/error404.aspx मिलता है। – Kiquenet

संबंधित मुद्दे