मैं इस प्रश्न को पोस्ट करूंगा, भले ही मैं देखूं कि इस तरह के कुछ अन्य समान हैं। हालांकि मैं इस त्रुटि को और न ही इसे हल करने के लिए संतोषजनक समाधान नहीं ढूंढ पा रहा हूं।त्रुटि: डब्ल्यूसीएफ टेस्ट क्लाइंट में समर्थित नहीं है क्योंकि यह टाइप सिस्टम का उपयोग करता है। थ्रेडिंग टास्क
तो, आज मुझे परीक्षण के उद्देश्यों के लिए अपने स्थानीय कंप्यूटर पर एक सेवा होस्ट करना पड़ा। यह सेवा एक एकल डब्ल्यूसीएफ सेवा समाधान है और जहां तक मैं लंबे समय से जानता हूं, यह काम कर रहा है। क्योंकि यह का उपयोग करता है प्रकार
System.Threadingइस आपरेशन WCF टेस्ट क्लाइंट में समर्थित नहीं है: हालांकि जब मैं परियोजना डाउनलोड किया है और अपने स्थानीय मशीन पर सेवा की मेजबानी करने की कोशिश की मैं शीर्षक से त्रुटि मिली
तो जब मैं घर वापस आया तो मैंने कुछ एसिंक तरीकों का उपयोग करके सेवा बनाने का फैसला किया और इसके निचले भाग तक पहुंच गया। हालांकि मैं वास्तव में आश्चर्यचकित था जब मुझे लगभग खाली परियोजना पर यह वही त्रुटि मिलती है जो कि उपयोग नहीं कर रहा है (या कम से कम ऐसा लगता है)
System.Threading.Tasks
कहीं भी।मैं तो क्या किया:
- बनाया नया
WCF Service
विजुअल स्टूडियो 2013 डिफ़ॉल्ट टेम्पलेट का उपयोग कर- वाम डिफ़ॉल्ट
IService1.cs
फ़ाइल औरService1.svc
बदल दिया
IService1.cs
रहे हैं:using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.ServiceModel.Web; using System.Text; namespace WcfService { [ServiceContract] public interface IService1 { [OperationContract] int GetEmpId(int id); } }
Service1.svc
कोसिस्टम का उपयोग करके बदल दिया; System.Collections.Generic का उपयोग कर ; System.Linq का उपयोग कर ; System.Runtime.Serialization का उपयोग कर ; System.ServiceModel का उपयोग कर ; System.ServiceModel.Web का उपयोग कर ; System.Text का उपयोग कर ;
नाम स्थान WcfService { सार्वजनिक वर्ग Service1: IService1 { सार्वजनिक पूर्णांक GetEmpId (पूर्णांक आईडी) { वापसी आईडी; } } }
और डिफ़ॉल्ट
web.config
जो इस तरह दिखता है छोड़ने:<system.serviceModel> <behaviors> <serviceBehaviors> <behavior> <!-- To avoid disclosing metadata information, set the values below to false before deployment --> <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/> <!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information --> <serviceDebug includeExceptionDetailInFaults="false"/> </behavior> </serviceBehaviors> </behaviors> <protocolMapping> <add binding="basicHttpsBinding" scheme="https" /> </protocolMapping> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> </system.serviceModel>
मैं भी
Task
,Threading
या कुछ इस तरह उपयोग करने के लिए प्रयास नहीं किया है, बस यह देखना चाहता था कि मेरी सेवा ऊपर है और चल रही है इसलिए मैं चीजों को जोड़ने शुरू कर सकता हूं और देख सकता हूं कि वास्तव में मुझे त्रुटि कब मिलेगी, लेकिन मेरे स्टार्टअप के रूप मेंService1.svc
सेट करने के बाद मेरे आश्चर्य के लिए कक्षा और प्रोजेक्ट को चलाने की कोशिश कर रहा था मुझे एक ही त्रुटि मिली:यह ऑपरेशन डब्ल्यूसीएफ टेस्ट क्लाइंट में समर्थित नहीं है क्योंकि यह टाइप सिस्टम का उपयोग करता है।थ्रेडिंग
ठीक है, अब मैं पूरी तरह से खो गया हूं। मुझे अपनी परियोजना चलाने के कई प्रयासों के बाद यह त्रुटि मिल रही थी। इस प्रश्न को पोस्ट करने से पहले मैंने फिर कोशिश की और इस बार मुझे त्रुटि नहीं मिली। असल में मैंने अभी अपना ग्राहक समाप्त कर लिया है और मैं
GetEmpId()
विधि का उपभोग करने में सक्षम हूं।तो यहां क्या हो रहा है।
मैं विधि
GetEmpIdAsync()
की जरूरत नहीं है: यह स्क्रीनशॉट जब मैं अपने प्रोजेक्ट का निर्माण होता है। मैंने इसे जोड़ने की कोशिश नहीं की है। और यह कैसे आता है यह कई बार नहीं बनाएगा और अब अचानक मैं उस विधि का उपयोग करने में सक्षम हूं जिसे मैंने वास्तव में बहुत शुरुआत से लागू किया है?
स्पष्टीकरण के लिए धन्यवाद। सेवा साल पहले बनाई गई थी और तथ्य यह है कि मुझे त्रुटि मिल रही है, मुझे सबसे ज्यादा भ्रमित कर रहा था क्योंकि मुझे पता है कि यह सेवा लंबे समय से काम कर रही थी। मैं इसे एसिंक मोड में उपयोग करने की योजना नहीं बना रहा हूं, इसके विपरीत मुझे आश्चर्य है कि क्यों एमएस ऐसा सम्मेलन करेगा। कम से कम मेरे लिए, क्योंकि मैं 'डब्ल्यूसीएफ' का उपयोग कर रहा हूं, शायद ही कभी यह अजीब और भ्रमित लगता है। मुझे लगता है कि यह कुछ ऐसा है जो 'विजुअल स्टूडियो' के नए संस्करणों के साथ आता है ... हालांकि, फिर से धन्यवाद। – Leron
बीटीडब्ल्यू, क्या सिंचन विधियों को देखने के लिए टूल को "बताना" करने का कोई तरीका है, इसलिए मुझे उन संदेश नहीं मिलते हैं? – Leron
वह परीक्षण उपकरण, मुझे ऐसा नहीं लगता है। हालांकि यदि आप अपने इंटरफ़ेस को उत्पन्न करने के लिए [SvcUtil] (http://msdn.microsoft.com/en-us/library/aa347733 (v = vs.110) .aspx) का उपयोग कर रहे हैं तो आपको बस '/ async 'छोड़ना होगा या यदि आप "सेवा जोड़ें रिफ्रेंस" जीयूआई का उपयोग कर रहे हैं तो बस 'उन्नत' पर क्लिक करें, फिर "[एसिंक्रोनस ऑपरेशंस की पीढ़ी की अनुमति दें]" के लिए बॉक्स को अनचेक करें (http://i.stack.imgur.com/GNsK0.png) " –