2015-05-26 5 views
10

यदि मेरे पास सत्र-कम बाध्यकारी है, तो क्या ऐसी कोई परिस्थितियां हैं जिसके अंतर्गत क्लाइंट चैनल गलती करेगा? ग्राहक पक्ष परक्या सत्र-कम डब्ल्यूसीएफ चैनल को गलती करने का कोई तरीका है?

<customBinding> 
    <binding name="MyCustomBinding"> 
    <mtomMessageEncoding/> 
    <httpTransport/> 
    </binding> 
</customBinding> 

मैं उपयोग कर रहा हूँ डिफ़ॉल्ट प्रॉक्सी का ClientBase<T> से निकाले जाते हैं उत्पन्न:

मेरी विशिष्ट मामले में मैं कस्टम बाध्यकारी निम्नलिखित है।

मैं उम्मीद कर रहा था कि अगर सेवा ने एक अनचाहे अपवाद फेंक दिया जो FaultException नहीं था, तो इससे चैनल को गलती हो जाएगी और क्लाइंट प्रॉक्सी गलती भी होगी। हालांकि, यह मामला नहीं है - प्रॉक्सी अभी भी ओपन स्टेट में बनी हुई है और बाद में उपयोग योग्य थी। मैंने बाइंडिंग के टाइमआउट में से किसी एक का उल्लंघन करने का भी प्रयास किया - इससे चैनल को गलती नहीं हुई और क्लाइंट प्रॉक्सी ओपन स्टेट में बनी रही।

क्या कोई ऐसी स्थिति है जो क्लाइंट प्रॉक्सी को दोष पहुंचाने का कारण बनती है?

संबंधित:

उत्तर

-1

एक ClientChannel गलती-राज्य के लिए संक्रमण एक एक अप्राप्य त्रुटि तब होती है जब। इस राज्य में अब उपयोग करने योग्य नहीं है। वसूली रणनीति एक नई वस्तु बनाने के लिए है। प्राथमिक कारण

  • हैं ओपन विधि किसी भी कारण से विफल रहता है, गलती राज्य के लिए वस्तु संक्रमण।
  • यदि सत्र-आधारित चैनल उस त्रुटि का पता लगाता है जिसे से पुनर्प्राप्त नहीं किया जा सकता है, तो यह दोषपूर्ण स्थिति में संक्रमण करता है। उदाहरण के लिए यह हो सकता है यदि कोई प्रोटोकॉल त्रुटि है (यानी, यह किसी अमान्य समय पर प्रोटोकॉल संदेश प्राप्त करता है) या यदि रिमोट एंडपॉइंट सत्र को रोक देता है।

एक परिवहन सत्र के लिए CommunicationState

सत्र-आधारित referes से लिया। तो अपवाद के बाद प्रॉक्सी का उपयोग करने से रोकने के लिए, किसी भी अनचाहे अपवाद चैनल को गलती करेगा। जब कोई परिवहन-स्तर सत्र नहीं होता है तो ग्राहक अपवाद के बाद प्रॉक्सी का उपयोग जारी रख सकता है, फिर भी, इसे नहीं करना चाहिए।

state changes के बारे में अधिक जानकारी।

+0

क्या आप जानते हैं कि सत्र-कम चैनल के साथ "अप्राप्य त्रुटि" कैसे उत्पन्न करें? क्या आप एक उदाहरण दे सकते हैं जहां ओपन विधि विफल हो जाती है और क्लाइंट चैनल दोषपूर्ण स्थिति में संक्रमण करता है? इसके अलावा आप क्यों कहते हैं "जब कोई परिवहन-स्तर सत्र नहीं होता है तो ग्राहक अपवाद के बाद प्रॉक्सी का उपयोग जारी रख सकता है, फिर भी, इसे नहीं करना चाहिए"। क्यों नहीं? –

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