La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Taller de certificación Internacional

Presentaciones similares


Presentación del tema: "Taller de certificación Internacional"— Transcripción de la presentación:

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"))

26


Descargar ppt "Taller de certificación Internacional"

Presentaciones similares


Anuncios Google