.NET Json Serialization Circular Ref Error (объект включает переменные структуры)

У меня есть веб-метод, вызываемый из Jquery для отображения объекта иерархического дерева. Возвращаемое значение — это List (Of T), где T — иерархическое отношение родитель-потомок. обход будет от родителя к дочернему.

1) .Net автоматически преобразует возвращаемое значение из веб-метода в JSON, чтобы отправить его обратно клиенту js. В этот момент он выдает ошибку циклической ссылки. Я проверил код, и только родитель вызывает ребенка, а не наоборот. Но мы используем StructureMap для внедрения зависимостей. Может ли это быть причиной циклической ссылки?

Примечание. У меня есть тестовый проект без StructureMap для отображения иерархической древовидной структуры, и у меня нет проблем с сериализацией json.

Любые идеи о том, как отлаживать это, будут полезны?


person GS.    schedule 25.11.2009    source источник


Ответы (1)


Вполне вероятно, что ваш дочерний объект ссылается на какой-то третий объект, который может ссылаться на другой объект и т. д., и один из объектов ниже по цепочке в конечном итоге ссылается на родительский объект (или один из других объектов в цепочке).

Это не должно иметь никакого отношения к StructureMap. Вы должны быть в состоянии легко доказать это, написав тест, который создает экземпляр, который вы пытаетесь вернуть, и запустив его через сериализатор JSON (вообще не используйте StructureMap в тесте).

person Joshua Flanagan    schedule 02.12.2009