2013-03-22 2 views
0

У меня было рабочее решение в 2010 году, я переехал на 2012 год, и он работал отлично, пока я не изменял свою ссылку на службу WCF в проекте Silverlight.WCF рекурсивный сбор данных не работает

Теперь я получаю следующую ошибку в классе, который ранее работал просто отлично. Я попробовал откат кода к рабочей версии и просто обновил сервисную ссылку в проекте SL и ударил сборку.

Он строит раньше, но не после. Обратите внимание, что все работает, и эта коллекция отправляется между сервером и клиентом.

текст Полный ошибка здесь:

Warning 134 Custom tool warning: Cannot import wsdl:portType 
Detail: An exception was thrown while running a WSDL import extension: 

System.ServiceModel.Description.DataContractSerializerMessageContractImporter Error: Type 'MyAssembly.ResultTreeDto' is a recursive collection data contract which is not supported. Consider modifying the definition of collection 'MyAssembly.ResultTreeDto' to remove references to itself.

Любая помощь очень ценится. На всякий случай: класс можно считать рекурсивным, вот пример кода из него:

public class ResultTreeDto 
    { 

     public List<ResultTreeDto> Leafs { get; set; } 
     ..... 

Я искренне потрясен. Нажатие этой кнопки ссылки службы обновлений вызывает слишком много проблем.

Я не уверен, что проблема связана только с SL, из-за ошибки это звучит не только для меня, я думаю.

Что могло произойти с момента моего последнего обращения к службе обновлений, я действительно не уверен, с чего начать.

+0

Насколько я понимаю, более поздний патч исправил аналогичную проблему. Можете ли вы попробовать установить http://support.microsoft.com/kb/2750149 (Windows 8) или http://support.microsoft.com/kb/2750147 (другие операционные системы), чтобы узнать, разрешает ли это вам проблему. – Praburaj

+0

OMG ты самый удивительный человек в истории. Пожалуйста, добавьте это как ответ и плохой +1 и отметьте как ответ, помогите и решите проблему. Огромное спасибо –

ответ

1

Насколько я понимаю, более поздний патч исправил аналогичную проблему. Можете ли вы попытаться установить http://support.microsoft.com/kb/2750149 (windows 8) или http://support.microsoft.com/kb/2750147 (другие операционные системы), чтобы узнать, решит ли это вашу проблему.

+0

спасибо. Как вы пришли к мысли, что это связано? Интересно? Что позвонил тебе? –