Ejemplo de tecnología de serialización básica
Actualización: noviembre 2007
En este ejemplo se demuestra la capacidad de Common Language Runtime para serializar un gráfico de objetos de la memoria en una secuencia. En este ejemplo se puede utilizar SoapFormatter o BinaryFormatter para la serialización. Se serializa o deserializa una lista vinculada, llena de datos, desde o hacia una secuencia del archivo. En cualquier caso, se muestra la lista para que pueda ver los resultados. La lista vinculada es de tipo LinkedList, un tipo definido por este ejemplo.
Para obtener más información sobre la serialización, revise los comentarios de los archivos de código fuente y de build.proj.
Para obtener información sobre el uso de los ejemplos, vea los siguientes temas:
Para generar el ejemplo desde el símbolo del sistema
Navegue hasta uno de los subdirectorios específicos de lenguaje bajo el directorio Technologies\Serialization\Runtime Serialization\Basic, utilizando el símbolo del sistema.
Escriba msbuild SerializationCS.sln, msbuild SerializationJSL.sln o msbuild SerializationVB.sln, dependiendo del lenguaje de programación elegido, en la línea de comandos.
Para generar el ejemplo mediante Visual Studio
Abra el Explorador de Windows y navegue hasta uno de los subdirectorios específicos del lenguaje para tener acceso al ejemplo.
Haga doble clic en el icono del archivo SerializationCS.sln, SerializationJSL.sln o SerializationVB.sln, dependiendo del lenguaje de programación elegido, para abrir el archivo en Visual Studio.
En el menú Generar, seleccione Generar solución.
La aplicación de ejemplo se generará en el subdirectorio predeterminado \bin o \bin\Debug.
Para ejecutar el ejemplo
Navegue hasta el directorio que contiene el ejecutable generado.
Escriba Serialization.exe, junto con los valores de parámetro que desee, en la línea de comandos.
Nota: En este ejemplo se genera una aplicación de consola. Para poder ver el resultado, debe iniciarla desde la línea de comandos.
Comentarios
La aplicación de ejemplo acepta parámetros de línea de comandos que indican qué comprobación desea ejecutar. Para serializar una lista de 10 nodos a un archivo denominado Test.xml mediante el formateador SOAP, utilice los parámetros sx Test.xml 10.
Por ejemplo:
Serialize.exe - sx Test.xml 10
Para deserializar el archivo Test.xml del ejemplo anterior, utilice los parámetros dx Test.xml.
Por ejemplo:
Serialize.exe - dx Test.xml
En los dos ejemplos anteriores, la "x" en el modificador de la línea de comandos indica que desea realizar una serialización de XML SOAP. Puede utilizar "b" en su lugar para utilizar la serialización binaria. Si desea realizar la serialización con un gran número de nodos, puede que prefiera redirigir el resultado de la consola a un archivo.
Por ejemplo:
Serialize.exe -sb Test.bin 10000 >somefile.txt
Las viñetas siguientes describen brevemente las clases y las tecnologías que se utilizan en este ejemplo.
Serialización en tiempo de ejecución
IFormatter Se utiliza para hacer referencia a un objeto BinaryFormatter o SoapFormatter.
BinaryFormatter Se utiliza para serializar una lista vinculada a una secuencia en formato binario. El formateador binario utiliza un formato que sólo entiende el tipo BinaryFormatter. Sin embargo, los datos son concisos.
SoapFormatter Se utiliza para serializar una lista vinculada a una secuencia en formato SOAP. SOAP es un formato estándar.
E/S de secuencia
Stream Se utiliza para serializar y deserializar. El tipo de secuencia concreto utilizado en este ejemplo es el tipo FileStream. Sin embargo, la serialización se puede utilizar con cualquier tipo derivado de Stream.
File Se utiliza para crear objetos FileStream para leer y crear archivos en disco.
FileStream Se utiliza para serializar y deserializar las listas vinculadas.
Vea también
Conceptos
Controlar la serialización XML mediante atributos
Introducir la serialización XML
Referencia
Atributo SerializableAttribute
Espacio de nombres System.Runtime.Serialization
Espacio de nombres System.Xml.Serialization