Compartir a través de


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:

Download sample

Para generar el ejemplo desde el símbolo del sistema

  1. Navegue hasta uno de los subdirectorios específicos de lenguaje bajo el directorio Technologies\Serialization\Runtime Serialization\Basic, utilizando el símbolo del sistema.

  2. 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

  1. Abra el Explorador de Windows y navegue hasta uno de los subdirectorios específicos del lenguaje para tener acceso al ejemplo.

  2. 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.

  3. 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

  1. Navegue hasta el directorio que contiene el ejecutable generado.

  2. 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

Serialización básica

Controlar la serialización XML mediante atributos

Introducir la serialización XML

Referencia

Clase BinaryFormatter

Clase File

Clase FileStream

Interfaz IFormatter

Clase Random

Atributo SerializableAttribute

Clase SoapFormatter

Clase Stream

System.IO (Espacio de nombres

Espacio de nombres System.Runtime.Serialization

Espacio de nombres System.Xml.Serialization

Otros recursos

Serialización binaria

Serialización

SOAP Service

Serialización de SOAP y XML