के साथ डब्ल्यूसीएफ सेवा का संदर्भ देते समय "रिकर्सिव संग्रह डेटा अनुबंध" प्राप्त करना यदि मैं अपनी डब्ल्यूसीएफ सेवा में केवल सरल तरीकों का उपयोग करता हूं, तो सब कुछ ठीक काम करता है। हालांकि, अगर मैं निम्न विधि में शामिल हैं, कोई समस्या होती है:थोड़ा जटिल विधि
[OperationContract]
public List<KeyValuePair<string, string>> GetAllAccounts()
{
return AccountBusiness.GetAllAccounts();
}
मैं जब एक अन्य परियोजना से सेवा को संदर्भित इस त्रुटि मिलती है:
Warning 5 Custom tool warning: Cannot import wsdl:portType Detail: An exception was thrown while running a WSDL import extension: System.ServiceModel.Description.DataContractSerializerMessageContractImporter Error: Type 'Newtonsoft.Json.Linq.JToken' is a recursive collection data contract which is not supported. Consider modifying the definition of collection 'Newtonsoft.Json.Linq.JToken' to remove references to itself. XPath to Error Source: //wsdl:definitions[@targetNamespace=' http://tempuri.org ']/wsdl:portType[@name='NodeService'] C:\inetpub\wwwroot\MyclientProject\Service References\NodeService\Reference.svcmap 1 1 MyClientNode
अगर मैं विधि ऊपर निकालने के लिए, पुन: संयोजित और अद्यतन संदर्भ, तो यह ठीक काम करता है। लेकिन जब मैं उपर्युक्त विधि जोड़ता हूं, तो मुझे लगातार यह चेतावनी मिलती है।
मुझे मिला एक सुझाव विजुअल स्टूडियो 2012 को अनइंस्टॉल करना और विजुअल स्टूडियो 2010 की मरम्मत करना था। मैं ऐसा नहीं करना चाहता।
एक अन्य suggested "सभी संदर्भित असेंबली में पुन: उपयोग प्रकार" को अनचेक करने के लिए, लेकिन यह विधि हस्ताक्षर को गड़बड़ कर देता है और उपयोग करने योग्य नहीं है।
आपको पैकेज को हटाने की ज़रूरत नहीं है, अब आप उन्हें सेवा में उपयोग कर सकते हैं: http://nirlevy.blogspot.co.il/2012/08/cannot-import-wsdl-porttypedetail.html –
निर , यह आश्चर्यजनक रूप से सहायक था। धन्यवाद! – benjy