Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с сереализацией, пример, если можно )) 
:(
    Опции темы
Levon11
Дата 15.9.2008, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 5.8.2007

Репутация: нет
Всего: нет



Добрый день!!

У меня всё никак не выходит сереализация класса в стрим... smile  Класс мой, но кажется в нём всё нормально.. Оказывется объект класса WindowsIdentity не сереализуется.. 
Может кто с этим сталкивался??? Спасибо. )) 

Это сообщение отредактировал(а) Levon11 - 15.9.2008, 18:07
PM MAIL   Вверх
mihryak
Дата 15.9.2008, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 731
Регистрация: 28.4.2007
Где: С-Пб

Репутация: 19
Всего: 36



Levon11, какая именно сериализация?
исли xml, почитай здесь, да и бинарная в большинстве случаев отличается не так уж сильно

ещё бы неплохо код класса увидеть, есть куча причин, по которым сериализация может не заработать
PM MAIL ICQ   Вверх
Levon11
Дата 16.9.2008, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 5.8.2007

Репутация: нет
Всего: нет



Код

            WindowsIdentity wi = WindowsIdentity.GetCurrent();

            XmlSerializer serializer = new XmlSerializer(typeof(WindowsIdentity));

            MemoryStream stream = new MemoryStream();

            TextWriter writer = new StreamWriter(stream);

            serializer.Serialize(writer, wi);


Я попытался сереализовать только WindowsIdentity.
На последней команде этот код даёт ошибку.
Не понимаю почему: ведь WindowsIdentity помечен как [Serializable].
А мой класс без WindowsIdentity замечательно сереализуется.
PM MAIL   Вверх
informatik
Дата 16.9.2008, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 4.11.2007

Репутация: нет
Всего: 6



[Serializable] данный атрибут вовсе не означает что класс будет сериализоваться XML сериилизатором... для  XML он должен реализовывать интерфейс IXmlSerializable. Для данного класса можно использовать  SoapFormater и BinaryFormater.  
--------------------
namespace informatik
PM MAIL   Вверх
mihryak
Дата 16.9.2008, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 731
Регистрация: 28.4.2007
Где: С-Пб

Репутация: 19
Всего: 36



Цитата(informatik @  16.9.2008,  16:42 Найти цитируемый пост)
для  XML он должен реализовывать интерфейс IXmlSerializable

совсем не обязательно
в данном случае сериализация не проходит из-за того, что одно из свойств (xml-сериализация использует только свойства get-set) имеет тип класса, у которого нет конструктора без параметров (это ещё одно необходимое условие сериализации)
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0667 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.