Ошибка при добавлении ссылки на службу: тип - это контракт данных рекурсивного сбора, который не поддерживается

Я попытался добавить ссылку на службу в службу WCF, которая находится в том же решении из проекта ASP.NET MVC 4, но не удалось. Я получил сообщение об ошибке:

Custom tool error: Failed to generate code for the service reference 'XXX'. Please check other error and warning messages for details. The root warning is:

Warning 9 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='IXXX'] C:\Projects...\Reference.svcmap 1 1 pqrt.web

Если я удалил данные контракты из сервисного контракта, это сработало. Я также попытался добавить ссылку на службу в другие проекты, такие как проект библиотеки или даже проект ASP.NET MVC 3, все это работало. Мне было интересно, если это было проблемой с ASP.NET MVC 4? Я использовал VS 2012 RC.

Один из обходных путей, который я могу придумать, состоит в том, чтобы добавить ссылку на службу в проект библиотеки и затем вызвать проект библиотеки из ASP.NET MVC 4, но я ненавижу это делать, поскольку это дополнительный шаг. Какие-либо предложения?

Ответы на вопрос(4)

Ваш ответ на вопрос