Сериализация в .NETSerialization in .NET

Сериализация представляет собой процесс преобразования состояния объекта в форму, пригодную для сохранения или передачи.Serialization is the process of converting the state of an object into a form that can be persisted or transported. Дополнением к сериализации служит десериализация, при которой осуществляется преобразование потока в объект.The complement of serialization is deserialization, which converts a stream into an object. Вместе они обеспечивают простое хранение и передачу данных.Together, these processes allow data to be easily stored and transferred.

В .NET доступны две технологии сериализации..NET features two serialization technologies:

  • При двоичной сериализации сохраняется правильность типов, что полезно для сохранения состояния объекта между разными вызовами приложения.Binary serialization preserves type fidelity, which is useful for preserving the state of an object between different invocations of an application. Например, можно обеспечить совместный доступ к объекту для разных приложений, сериализовав его в буфер обмена.For example, you can share an object between different applications by serializing it to the Clipboard. Объект можно сериализовать в поток, на диск, в память, передать по сети и т. д.You can serialize an object to a stream, to a disk, to memory, over the network, and so forth. При удаленном управлении сериализация используется для передачи объектов "по значению" с одного компьютера или домена приложения на другой.Remoting uses serialization to pass objects "by value" from one computer or application domain to another.

  • При XML-сериализации сериализуются только открытые свойства и поля, а правильность типов не сохраняется.XML serialization serializes only public properties and fields and does not preserve type fidelity. Этот метод полезен для предоставления или использования данных без ограничений работающего с ними приложения.This is useful when you want to provide or consume data without restricting the application that uses the data. Будучи открытым стандартом, XML привлекателен для совместного использования данных в Интернете.Because XML is an open standard, it is an attractive choice for sharing data across the Web. Аналогичным образом и SOAP представляет собой открытый стандарт, использование которого эффективно и удобно.SOAP is likewise an open standard, which makes it an attractive choice.

В этом разделеIn This Section

Практические руководства по сериализацииSerialization How-to Topics
Ссылки на подразделы "Практическое руководство" данного раздела.Lists links to How-to topics contained in this section.

Двоичная сериализацияBinary Serialization
Описывает механизм двоичной сериализации, входящий в среду CLR.Describes the binary serialization mechanism that is included with the common language runtime.

Сериализация XML и SOAPXML and SOAP Serialization
Описывает механизм сериализации XML и SOAP, входящий в среду CLR.Describes the XML and SOAP serialization mechanism that is included with the common language runtime.

Инструменты сериализацииSerialization Tools
Эти средства упрощают разработку кода сериализации.These tools help develop serialization code.

Образцы сериализацииSerialization Samples
Выполнение сериализации показано в образцах.The samples demonstrate how to do serialization.

СсылкаReference

System.Runtime.Serialization Содержит классы, которые можно использовать для сериализации и десериализации объектов.System.Runtime.Serialization Contains classes that can be used for serializing and deserializing objects.

System.Xml.Serialization
Содержит классы, которые можно использовать для сериализации объектов в документы формата XML или в потоки.Contains classes that can be used to serialize objects into XML format documents or streams.