Cómo funciona la serialización
Este ejemplo muestra el proceso total de serialización.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBP-o4bwtKVukuT9q5RYWiTBMmlleN2P2CoOgvnI4di7Wgb0SqzkDY87Ms-p-v5QCVfc2iYfFmecaWMoM9YY7M6OLBe7m6DOrpRyULdq0S4pn8q__m2AmSNhoGrnxj1FN4C13KsY4YHXU/s320/IC167979%255B1%255D.gif)
El objeto se serializa en una secuencia que, además de los datos, contiene información sobre el tipo de objeto, como la versión, referencia cultural y nombre de ensamblado. Esa secuencia se puede almacenar en una base de datos, un archivo o en memoria.
Usos de la serialización
La serialización permite al desarrollador guardar el estado de un objeto y volver a crearlo cuando es necesario, y proporcionar almacenamiento de objetos e intercambio de datos. A través de la serialización, un desarrollador puede realizar acciones como enviar un objeto a una aplicación remota por medio de un servicio Web, pasar un objeto de un dominio a otro, pasar un objeto a través de un firewall como una cadena XML o mantener la seguridad o información específica del usuario entre aplicaciones.
Crear un objeto serializable
Para serializar un objeto, se necesita que el objeto esté serializado, una secuencia que contenga el objeto serializado y un objeto Formatter. La enumeración System.Runtime.Serialization contiene las clases necesarias para serializar y deserializar objetos.
Aplique el atributo SerializableAttribute a un tipo para indicar que se pueden serializar las instancias de ese tipo. Se produce una excepción SerializationException si se intenta serializar pero el tipo no tiene el atributo SerializableAttribute.
Si no desea que un campo de su clase se pueda serializar, aplique el atributo NonSerializedAttribute. Si un campo de un tipo serializable contiene un puntero, controlador u otra estructura de datos específica de un entorno determinado, y el significado del campo no se puede reconstruir en un entorno diferente, es conveniente que no sea serializable.
Si una clase serializada contiene referencias a objetos de otras clases marcadas con el atributo SerializableAttribute, esos objetos también se serializarán.
No hay comentarios:
Publicar un comentario