Compartir a través de


Almacenamiento persistente

A menudo es necesario guardar el valor de los campos de un objeto en disco y recuperarlos posteriormente. Aunque esto se puede conseguir fácilmente sin confiar en la serialización, este enfoque a menudo es engorroso y propenso a errores, y se hace cada vez más complejo cuando se necesita realizar el seguimiento de una jerarquía de objetos. Imagine que va a escribir una gran aplicación comercial que contiene miles de objetos y necesita escribir código para guardar y restaurar los campos y propiedades de cada objeto en disco. La serialización proporciona un mecanismo cómodo para alcanzar este objetivo.

Common Language Runtime administra la forma en que los objetos se almacenan en la memoria y proporciona un mecanismo de serialización automatizada mediante la reflexión. Cuando se serializa un objeto, el nombre de la clase, el ensamblado y todos los miembros de datos de la instancia de la clase se escriben en un medio de almacenamiento. A menudo, los objetos almacenan referencias a otras instancias en variables miembro. Cuando se serializa la clase, el motor de serialización realiza un seguimiento de los objetos a los que se haga referencia para asegurarse de que el mismo objeto no se serializa más de una vez. La arquitectura de serialización que proporciona trata automática y correctamente los gráficos de objetos y las referencias circulares. El único requisito de los gráficos de objetos es que todos los objetos a los que hace referencia el objeto serializado también estén marcados como Serializable (para obtener más información, vea Serialización básica). Si no se hace así, se producirá una excepción cuando el serializador intente serializar un objeto sin marcar.

Cuando se deserializa la clase serializada, se vuelve a crear y se restauran automáticamente los valores de todos los miembros de datos.

Vea también

Otros recursos

Conceptos de serialización
Objetos remotos
Serialización XML y SOAP