2013-08-14 6 views
10

में है जब कतार के साथ काम करने की कोशिश इस त्रुटि प्राप्त:System.ServiceModel.ServiceHost, संचार के लिए इस्तेमाल नहीं किया जा सकता क्योंकि यह गलती राज्य

अनपेक्षित त्रुटि हुई संचार के लिए इस्तेमाल नहीं किया जा सकता क्योंकि यह दोषपूर्ण राज्य में है। System.ServiceModel.Channels.CommunicationObject.Close (टाइमस्पेन टाइमआउट)

इसे कैसे दूर करें?

अद्यतन: मेरी समाधान अंत

+0

कुछ कोड दिखाने का कोई मौका :) – Chris

+0

मैंने हल किया, और जवाब पोस्ट करने का फैसला किया :) इस समाधान को पहले नेट पर नहीं मिला, इसलिए साझा करने का निर्णय लिया :) – GrimSmiler

+1

यह पोस्ट करना बेहतर होगा समाधान के रूप में समाधान और फिर इसे इस तरह चिह्नित करें। यह इस पृष्ठ पर आने वाले अन्य लोगों के लिए स्पष्टता में सहायता करता है। –

उत्तर

6

अपडेट: मेरे मामले में क्या मदद मिली में था:

1) को सक्षम करने का पता लगाने लॉग: http://msdn.microsoft.com/en-us/library/ms732023.aspx

2) का पता लगाने के लिए लॉग इन यह यह लिखा:

बाइंडिंग मान्यता विफल हो गया क्योंकि बंधन के ExactlyOnce संपत्ति गंतव्य कतार गैर-लेनदेन के दौरान सत्य पर सेट है। सेवा होस्ट खोला नहीं जा सकता है। इस बाध्यकारी के लिए ExactlyOnce संपत्ति को गलत या एक लेनदेन कतार बनाने के द्वारा इस संघर्ष को हल करें।

जवाब यह सब कहते हैं। एक लेन-देन संबंधी कतार बनाया गया - सब कुछ :) आशा है कि यह मदद करता है लोग :)

1

मेरे अनुभव से पर तैनात करने के लिए जवाब है, एक बार एक endpoint एक गलती अवस्था में है, यह अपने आप ही ठीक नहीं होगा और पुनः प्रारंभ करना होगा। ग्राहक पक्ष से ऐसा करने का कोई तरीका नहीं है। मेजबान इसे करना चाहिए।

मेजबान तरफ, अगर आप इस तरह कोड का उपयोग कर एक गलती राज्य के लिए जाँच कर सकते हैं:

While True 
     'broken connection case 
     If objServiceHost(ii).State <> CommunicationState.Opened Then 
     Throw New Exception("SynchronizationWS Service Host failed.") 
     Exit While 
     End If 
    Next 
    Threading.Thread.Sleep(c_SleepTime) 'sleep 1 second before going trying next 
    End While 

हम एक उच्च स्तर प्रोग्राम है जो हमारी वेब सेवा के दिल की धड़कन (जो एक खिड़कियों सेवा के भीतर चलता है) पर नज़र रखता है है और यदि उच्च स्तर के कार्यक्रम को पता चलता है कि दिल की धड़कन बंद हो गई है, तो यह विंडोज सेवा को रीसायकल करेगा, डब्ल्यूसीएफ वेब सेवा को पुनरारंभ करेगा।

4

यह समस्या अधिकारों का उपयोग की वजह से है काम करता है। प्रशासनिक अधिकारों के साथ विजुअल स्टूडियो शुरू करें और समस्या हल हो जाएगी। व्यवस्थापक अधिकारों के साथ विजुअल स्टूडियो शुरू करने के लिए राइट स्टूडियो आइकन पर क्लिक करें और "व्यवस्थापक के रूप में चलाएं" का चयन करें।

+0

धन्यवाद, यह मेरे लिए हल हो गया! –

+0

धन्यवाद बहुत दोस्त। – Khalid

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

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