none
enviar objetos BinaryFormatter por el servicio RRS feed

  • Pregunta

  • Hola, estoy utilizando un servicio duplex sobre un consoleApplication

    con un binding net.tcp. pero he visto en foros que aunque utilice tcp

    los datos que estoy enviando "no son binarios" entonces me entró la duda

    de que estoy enviando?? no se si me explico

     

     

    por ejemplo, tengo mi clase persona, le asigno el atributo [datacontract]

    y sus miembros [datamember] yo tenía entendido que con eso ya se serializaba en binario

    por tener tcp. dicen que no.

    Entonces ahora, si hago binario el tipo Persona utilizando el BinaryFormatter, como sería

    en la Interfaz, y como lo implemento??

    con esto se agiliza mas la comunicación.

    muchas gracias a todos por sus aportaciones.

     

     

    les dejo un trozo de código de como estoy acostumbrado a convertir en binario mis tipos

    saludos

     

     

     

                //Serializa el tipo Animal....

                Animal pelos = new Animal { Nombre = "Perro", Edad = 5, Especio = "Perro" };

     

                //La extensión puede ser elegida por uno mismo

                fs = new FileStream("AnimalSerializado.bin"FileMode.Create);

     

                bf.Serialize(fs, pelos);

                //el archivo esta en uso hasta no cerrar el filestream

                fs.Close();

     

     

                         DESERIALIZACIÓN

                //Crea un objeto de tipo stream para leer el objeto serializado

                FileStream fs = new FileStream("AnimalSerializado.bin"FileMode.Open);

     

                //crea un o bjeto de tipo BinaryFormatter para invocar la deserialización 

                BinaryFormatter bf = new BinaryFormatter();

     

                //llama al metodo para Deserializar el objeto y lo castea a su tipo correcto

                Animal pelos =(Animal)bf.Deserialize(fs);

     

                MessageBox.Show(pelos.ToString());


     

     

     

    en wcf tengo entendido debo guardarlo en un memorystream, pero ni idea compañeros

    sábado, 19 de noviembre de 2011 12:08