Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porMaría del Carmen García Carrizo Modificado hace 5 años
1
Taller de certificación Internacional
Tema: Serialización
2
Serialización de objetos
Serialización XML Serialización Personalizada
3
Serialización de objetos
La serialización es el proceso de convertir un objeto en una secuencia lineal de bytes que pueden ser almacenados o transferidos, la deserializacion es convertir esta secuencia en un objeto, esta implementada con System.Runtime.Serialization
4
Pasos para la serialización
1 Crear un stream donde se almacenará el objeto serializado 2 Crear un objeto Formmater (BinaryFormatter,SoapFormatter) 3 Llamar al objeto Formmater para Serializar
5
Ejemplo de serialización
6
Pasos para la deserialización
1 Crear un stream para leer el objeto serializado 2 Crear un objeto Formmater. 3 Crear un objeto para almacenar el objeto deserializado 4 Llamar al objeto formater para deserializar
7
Ejemplo de deserialización
8
Serializar una clase Para que una clase sea serializable, se debe agregar el atributo [Serializable] y esto serializa todo, incluso miembros privados. Si se desea que uno de los atributos no sea serializable, se le coloca al costado [NonSerialized] . El atributo [OptionalField] se usa para mantener la compatibilidad en la deserialización. Este campo afecta solo la deserialización para prevenir que en runtime se lance una excepción si el miembro no está presente en el dato serializado.
9
Serializar una clase
10
Serializar una clase Tambien se puede usar la interfaz IDeserializationCallback para ara habilitar que la clase inicialize campos no serializados implementa esta interfaz, deberá implementar el método public void OnDeserialization(object sender)
11
Serializar una clase
12
Formatos de Serialización
IFormatter: Deberá implementarse cuando se requiere un control total sobre la Serialización. BinaryFormatter: Es el mas eficiente al serializar,debe usarse si las aplicaciones son .NET, requiere menos espacio. SoapFormatter: Localizada en System.Runtime.Serialization.Formatters.Soap, esta basado en XML, útil para transmitir en redes o aplicaciones, o en el intercambio de información, requiere mas espacio. Debe agregar la referencia System.Runtime.Serialization.Formatters.Soap.Dll
13
Formatos de serializacion: SoapFormatter
14
Serialización Serialización XML Serialización de objetos
Serialización Personalizada
15
Serialización XML Las serializacion XML, es útil cuando se necesita intercambiar datos con diversas aplicaciones y no se necesita serializar datos privados. La serializacion XML no serializa miembros privados o protected. A diferencia de la serializacion estándar la clases no deben tener el atributo [Serializable]
16
Porque usa la serializacion XML?
La serializacion en XML es usada cuando se necesita intercambiar un objeto con una aplicación que no esté basada en el framework .Net. Beneficios: Gran interoperabilidad: XML está basado en archivos estándares, y existen muchas librerías para que cualquier aplicación de diferentes sistemas operativos lo pueda usar. Una administración más amigable: puede ser editado desde cualquier editor de texto. Provee archivos más fáciles de leer: se describe por sí solo. Solo puede serializar datos públicos, no privados, No se pueden serializar grafos.
17
Pasos para la serialización
1 Crear un stream,textwriter,xmlwriter 2 Crear un XmlSerializer(typeof(tipo)) 3 Llamar al objeto XmlSerializer.Serialize(intancia)
18
Pasos para la deserialización
1 Crear un stream,textreader,xmlreader 2 Crear un objeto XmlSerializer(typeof(tipo)) 3 Llamar a xmlSerializer.Deserialize(tipo)
19
Ejemplo de serialización XML
20
Ejemplo de serializacion XML
21
Serialización XML de una clase
Se debe especificar la clase como pública. Definir todos los miembros que se desean deserializar como públicos. Crear un constructor sin parámetros la clase no necesita tener el atributo “Serializable” para poder ser serializado como XML. Una clase que no tiene ningún atributo para la serialización en XML, se serializaría a XML donde cada uno de sus miembros es un elemento XML.
22
Serialización XML de una clase
Atributos usados en la serialización XML: XmlAttribute: permite que el campo, se vuelva un atributo en el momento de la serializacion, es decir estará de la siguiente forma XmlIgnore: permite ignorar un atributo para que no sea serializado (como [NonSerialized]). XmlRoot: ("nombre"), sirve para especificar con otro nombre serializado a la clase que se piensa serializar.
23
Serialización XML de una clase
24
Serialización Personalizada
Serialización de objetos Serialización XML Serialización Personalizada
25
Serialización personalizada
Cuando se desea hacer una serialización customizada, se debe de implementar la interfaz ISerializable, el método GetObjectData, además un constructor para el proceso de serialización con los parámetros: SerializationInfo info, StreamingContext context. Del SerializationInfo (es de donde se obtienen los datos de la forma info.GetInt32("numero"))
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.