2010-03-20 5 views
1

У меня есть методы, которые возвращают интерфейс и некоторые методы, которые принимают интерфейс как параметры. Я пытаюсь использовать Net DataContractSerializer, но я получаю следующее сообщение об ошибке ...Ошибка удаления десериализации NetDataContractSerialization

Форматировщика бросил исключение при попытке десериализовать сообщение: Была ошибка при попытке параметра десериализации http://tempuri.org/:id. Сообщение InnerException был 'Ошибка в строке 1 позиции 120. XML 'Element' ' http://tempuri.org/:id 'не содержат ожидается атрибут ' http://schemas.microsoft.com/2003/10/Serialization/:Type». Deserializer не знает , тип которого десериализуется. Убедитесь, что тип сериализации имеет тот же контракт , что и тип deserialized. '. Пожалуйста, см. InnerException для получения более подробной информации.

Пожалуйста, помогите мне, как решить эту ошибку ....

Если я использую Netdatacontract атрибута операции контракта, могу ли я использовать DataContract и DataMember атрибут сериализуемого класса ???

Заранее спасибо ...

ответ

0

Просто угадывание - ошибка, кажется, указывают на то NetDataContractSerializer не может правильно определить, какой тип десериализовать контент в.

Не может быть, что вы не указываете пространство имен XML http://tempuri.org на десериализатор?

Также вы можете показать содержимое InnerException, пожалуйста?

Или второй вариант: используя NetDataContractSerializer, вам также необходимо предоставить общий доступ к контрактам данных между сервером и клиентом, чтобы клиент мог десериализоваться на тот же тип, который был определен на стороне сервера. Вам не хватает этого требования, может быть?

+0

Hii ... Спасибо за ваш ответ .... Я создал класс Datacontract как отдельную библиотеку .net и добавил ссылку на клиент и сервер для совместного использования типов. И пришло время назвать пространство iam, используя мое пространство имен проектов в этом месте. Если у вас есть какие-либо представления о том, что namespae использовать, пожалуйста, дайте мне знать .. Мое внутреннее исключение - это тоже то же самое, что и ошибка десериализации. Ниже приведен код, который я использую для включения NetDcs. Пожалуйста, дайте мне знать, если это правильно. – SRP

+0

http://www.pluralsight-training.net/community/blogs/aaron/archive/2006/04/21/22284.aspx Код указан в вышеприведенной ссылке .. Пожалуйста, дайте мне знать, если мне нужно внести какие-либо изменения в этот код и любые изменения, необходимые для файлов конфигурации ... Заранее спасибо ... – SRP

Смежные вопросы