मेरे पास एक डब्ल्यूसीएफ सेवा है, इसे UserService
पर कॉल करें। UserService
में क्लास लाइब्रेरी का संदर्भ है। आइए इसे DoWork.dll
पर कॉल करें। DoWork.dll
में एक अलग सेवा के लिए डब्ल्यूसीएफ सेवा संदर्भ है जिसे हम CompanyService
पर कॉल करेंगे।डब्ल्यूसीएफ एंडपॉइंट कॉन्फ़िगरेशन त्रुटि: 'अनुबंध' विशेषता अमान्य है?
अब, जब मैंने पहली बार UserService
पर कॉल करने का प्रयास किया तो मुझे एक एंडपॉइंट त्रुटि संदेश कॉन्फ़िगर नहीं किया जाएगा। वेब के चारों ओर पढ़ने के बाद मुझे पता चला है कि मुझे नोड के तहत UserService
के web.config
में CompanyService
बाइंडिंग और क्लाइंट जानकारी जोड़ने की आवश्यकता है।
संदेश यह है:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IComapnyService" />
</basicHttpBinding>
</bindings>
<client>
<endpoint name="BasicHttpBinding_ICompanyService"
address="http://it-dev.company.local:81/Project/Copmpany/CompanyService.svc"
binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IComapnyService"
contract="CompanyService.ICompanyService" />
</client>
समस्या मेरे पास है contract="CompanyService.ICompanyService"
मुझे त्रुटि से पता चलता है:
The 'contract' attribute is invalid - The value 'CompanyService.ICompanyService' is invalid according to its datatype 'clientContractType' - The Enumeration constraint failed.
अब अगर मैं UserService
WCF परियोजना के लिए सीधे CompanyService
संदर्भ जोड़ने के लिए, त्रुटि दूर हो जाती है (जाहिर है)। हालांकि, मुझे यह नहीं करना चाहिए। मैंने ICompanyService
अनुबंध में नामस्थान को पूरी तरह अर्हता प्राप्त करने का प्रयास किया है और यह भी काम नहीं करता है। मैंने .suo फ़ाइल को हटा दिया है और प्रोजेक्ट का पुनर्निर्माण किया है और यह या तो काम नहीं करता है (वेब पर कहीं और सुझाया गया है)। इसके अलावा, अगर मैं contract=
टाइप करता हूं, तो मुझे ड्रॉप डाउन सूची मिलती है लेकिन CompanyService.ICompanyService
कहीं भी नहीं है (केवल तभी जब मैं सीधे UserService
प्रोजेक्ट में सेवा का संदर्भ देता हूं)।
मैंने Tools > WCF Service Configuration Editor
का उपयोग करके इसे कॉन्फ़िगर करने का प्रयास किया है और इससे मदद नहीं मिलती है।
मुझे ध्यान रखना चाहिए कि सबकुछ ठीक काम करता प्रतीत होता है, लेकिन मुझे यह तथ्य पसंद नहीं है कि इंटेलिजेंस मुझे नीली squiggly अंडरलाइन और त्रुटि संदेश दे रहा है। UserService
DoWork.dll
के संदर्भ में काम करने के लिए मुझे web.config
में कुछ और चाहिए, मुझे DoWork.dll
संदर्भित करता है, जो बदले में CompanyService
का संदर्भ देता है जिसका अनुबंध मैं ठीक से नहीं देख सकता।
किसी भी सुझाव की बहुत सराहना की जाती है। अग्रिम में धन्यवाद।
मैं हाल ही में इस पर आया और पाया कि वास्तव में पूर्ण नामस्थान सहित मेरे मुद्दों में योगदान दे रहा था। इस समस्या के साथ किसी और के लिए नोट करने के लिए उपयोगी। – Ian