Слайд 2
Сериализация и десериализации
Сериализация представляет процесс преобразования какого-либо объекта в
поток байтов.
Десериализация представляет процесс восстановления из потока байтов ранее
сохраненный объект.
Слайд 3
Атрибуты
Атрибуты обеспечивают эффективный способ связывания метаданных или декларативной
информации с кодом (сборками, типами, методами, свойствами и т.
д.).
Слайд 4
Атрибут Serializable
Чтобы объект определенного класса можно было сериализовать,
надо этот класс пометить атрибутом Serializable
Слайд 5
Атрибут NonSerialized
При необходимости не сохранять элемент используют атрибут NonSerialized.
Слайд 6
Граф объектов
Среда CLR учитывает все связанные объекты, чтобы
гарантировать корректное сохранение данных. Этот набор связанных объектов называется
графом объектов.
Слайд 7
Граф объектов
Каждый объект в графе получает уникальное числовое
значение. Имейте в виду, что числа, назначенные объектам в
графе, являются произвольными и не имеют никакого значения для внешнего мира.
Слайд 9
Формат сериализации
В.NET можно использовать следующие форматы сериализации:
бинарный
SOAP
xml
JSON
Слайд 10
Дополнительная информация о данных
XML (Extensible Markup Language) -
это новый SGML-производный язык разметки документов, позволяющий структурировать информацию
разного типа, используя для этого произвольный набор инструкций.
Слайд 11
Дополнительная информация о данных
В SOAP-посланиях передаются данные самых
разных типов: числа, даты, строки символов, массивы, структуры. Определение
типов этих данных выполняется, как обычно, в схемах XML. Схема может быть записана любым способом, но чаще всего применяется язык XSD
Слайд 12
Дополнительная информация о данных
В SOAP-посланиях передаются данные самых
разных типов: числа, даты, строки символов, массивы, структуры. Определение
типов этих данных выполняется, как обычно, в схемах XML. Схема может быть записана любым способом, но чаще всего применяется язык XSD
Слайд 13
Формат сериализации
Для каждого формата предусмотрен свой класс: для
сериализации в бинарный формат - класс BinaryFormatter, для формата SOAP
- класс SoapFormatter, для xml - XmlSerializer, для json - DataContractJsonSerializer.
Эти классы расположены в using System.Runtime.Serialization.Formatters. <тип сериализации>
Слайд 14
Интерфейс сериализации
XMlSerializer не реализует данный интерфейс
Слайд 15
Точность данных
Когда используется тип BinaryFormatter, он сохраняет не
только данные полей объектов из графа, но также полное
квалифицированное имя каждого типа и полное имя определяющей его сборки (имя, версия, маркер общедоступного ключа и культура).
Слайд 18
Примеры программ(Binary)
Использование массива данных