Как сериализовать сгенерированный SubSonic класс? - PullRequest
0 голосов
/ 18 июля 2010

Я пытаюсь использовать SubSonic с WCF.Я могу получить данные в List, но не могу вернуть эти данные на клиентскую сторону, ошибка:

Разъединено соединение с сокетом.Имя объекта: 'System.ServiceModel.Channels.SocketConnection'.

Я пытаюсь отправлять и извлекать данные в / из WCF с помощью объекта POCO, и он работает, но когда я пытаюсь использовать сгенерированный класс из SubSonic, онбольше не работает, поэтому я думаю, что у него есть некоторые проблемы.

Ответы [ 2 ]

0 голосов
/ 24 июля 2010

После того, как я скачал исходный код SubSonic и отладил в нем SubSonic.Core, я обнаружил, что это ошибка, потому что GetBody <> создаст экземпляр этого класса, а внутри его конструктор пытается подключиться к базе данных, которая может т; клиент не имеет доступа к базе данных.

Сейчас я работаю над созданием класса сопоставления с SubSonic и возвращаю вместо него POCO.

0 голосов
/ 19 июля 2010

Я бы предположил, что это не «настоящее» исключение.Я не знаком с WCF, но, возможно, вы найдете что-то в журналах.

Вот статья об отладке WCF http://www.codeproject.com/KB/WCF/DebugWCFApps.aspx

Скорее всего, WCF пытается сериализовать класс SubSonic со значениями, допускающими обнуление,Свойства классов SubSonic помечены как XMLAttribute, который выдает ошибку, если вы хотите сериализовать обнуляемый тип.Nullables могут быть сериализованы только как XMLElements.

Попробуйте, если он работает с сгенерированным SubSonic классом, который не имеет свойства nullable.

...