Страница справки wcf 4 вызывает System.OutOfMemoryException - PullRequest
0 голосов
/ 29 января 2011

Мне нужна помощь в устранении этой конкретной проблемы.

В какой-то момент на раннем этапе существования этой службы эта страница справки фактически работала http://stephenpattenconsulting.com/Services/help, и при нажатии на ссылки на различные методы создавалась страница описания службы.Теперь все, что он делает, - это зависание, которое после включения трассировки оказывается исключением из-за нехватки памяти.Теперь странная часть - все эти методы работают, если я называю их программируемостью.

У меня есть файл трассировки, если он вам нужен.

Спасибо, Стивен

1 Ответ

1 голос
/ 30 января 2011

После небольшой отладки я выяснил, что вызвало проблему, оказалось, что это известная проблема сериализации с WCF и Entity Framework при представлении JSON. Моя конкретная ошибка

System.Runtime.Serialization.SerializationException, mscorlib, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089

Тип 'com.patten.root.Models.FD_GROUP' не может быть сериализован в JSON, поскольку для параметра IsReference установлено значение 'True'. Формат JSON не поддерживает ссылки, потому что нет стандартизированного формата для представления ссылок. Чтобы включить сериализацию, отключите параметр IsReference для типа или соответствующий родительский класс типа.

Вот почему страница справки умрет.

Обратите также внимание, что в моем исходном сообщении говорилось, что все «работает» правильно, если я программно достиг конечной точки, это было неправильно, НЕ все работало, особенно этот вызов FD_GROUP (FoodGroup).

То, как я это исправил, заключалось в том, чтобы создавать DTO или POCO с более легким весом поверх моей модели и выставлять их при необходимости.

Береги всех. Стивен

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...