Исключения при использовании веб-сервиса с EF - PullRequest
3 голосов
/ 12 октября 2011

Я получаю это исключение при звонке на мой веб-сервис. Я использую EF в своем сервисе и пытаюсь вернуть класс POCO, созданный EF. Есть идеи ??

System.Web.Services.Protocols.SoapException: серверу не удалось обработать запрос. ---> System.InvalidOperationException: есть была ошибка при создании документа XML. ---> System.InvalidOperationException: тип System.Data.Entity.DynamicProxies.Job_3C04107CB03F22888B19EF7537A795C816D03441852DC37A42729E7542384BBE не ожидал Используйте атрибут XmlInclude или SoapInclude для указать типы, которые не известны статически. в Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write2_Job (String n, String ns, Job o, Boolean isNullable, Boolean needType) в Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write9_GetJobByNumberResponse (Object [] р) в Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer13.Serialize (Объект objectToSerialize, XmlSerializationWriter Writer) в System.Xml.Serialization.XmlSerializer.Serialize (XmlWriter xmlWriter, Объект o, пространства имен XmlSerializerNamespaces, String encodingStyle, String id) --- Конец внутренней трассировки стека исключений --- в System.Xml.Serialization.XmlSerializer.Serialize (XmlWriter xmlWriter, Объект o, пространства имен XmlSerializerNamespaces, String encodingStyle, String id) в System.Web.Services.Protocols.SoapServerProtocol.WriteReturns (Object [] returnValues, Stream outputStream) в System.Web.Services.Protocols.WebServiceHandler.WriteReturns (Object [] returnValues) в System.Web.Services.Protocols.WebServiceHandler.Invoke () --- Конец внутренняя трассировка стека исключений ---

хорошо, я нашел сообщение, в котором упоминается установка для свойства ProxyCreationEnabled значения false; Я сделал это, и теперь он отлично работает. Что стучит в результате установки этого свойства в false

1 Ответ

8 голосов
/ 12 октября 2011

Вам необходимо отключить отложенную загрузку и создание прокси в контексте EF, в противном случае ваш POCO в качестве состояния исключения на самом деле представляет собой DynamicProxy, который не может быть сериализован.

Эта статья предоставитнемного больше информации.

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