WCF "DataContext доступ после удаления" - PullRequest
1 голос
/ 09 апреля 2010

У меня есть приложение с многочисленными службами WCF, которые используют LINQ-To-SQL в качестве модели доступа к данным. У меня много проблем с исключением «DataContext, доступ к которому осуществляется после удаления». Я понимаю, что это за исключение и что оно происходит, потому что я не "инициализировал" данные, к которым пытаются получить доступ. Я прочитал много статей, в которых говорится, что я вызывал ToList () для любых массивов, прежде чем родительский объект был возвращен службой.

Моя проблема в том, что я получаю это исключение, и я не знаю, откуда оно исходит, и поэтому я не знаю, что не было инициализировано.

Кто-нибудь может посоветовать, как лучше определить основную причину?

(я использовал MS Service Trace Viewer, и это, похоже, не дает мне никакой дополнительной информации)

1 Ответ

1 голос
/ 09 апреля 2010

Я обнаружил, что основной причиной проблемы было то, что в linq-to-sql был класс, который был украшен атрибутом DataContract, но ему было необходимо установить для свойства IsReference значение true ([DataContract(IsReference=true)]). Было также свойство этого класса, которое не было DataMember и должно быть ([DataMember(EmitDefaultValue=false)]). Установка этих двух атрибутов исправила мою проблему.

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