none
Ayuda con el envio de una class desde Winform hacia un WebService RRS feed

  • Pregunta

  • Hola buen día me pueden ayudar con esta conversión:

    ServicioWeb.PersonEntity person2 = person1;

    ambas clases person2 y person1 tienen la misma estructura la diferencia esta en que person2 es lo que recibe el webservice y person1 es la clase que se utiliza en una aplicación winform. actualmente lo tengo así y funciona pero quisiera saber si hay algo mas optimo.

    ServicioWeb.PersonaEntity Person2 = new ServicioWeb.PersonaEntity { nombre = person1.nombre, direccion = person1.direccion, email = person1.email

    .

    .

    . };

    Gracias de antemano, saludos


    viernes, 10 de abril de 2015 15:13

Respuestas

  • hola

    podrias usar automapper para convertir de una tipo de clase a otra

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta MatiCris miércoles, 15 de abril de 2015 12:41
    domingo, 12 de abril de 2015 1:05
  • Hola Alberto, gracias por tu respuesta pero lo que mencionas no aparece...


    Sí, está ahí en la imagen que pusiste es la de "Volver a usar tipos en todos los ensamblados a los que se hace referencia". Si aplicas lo que te dije de guardar la clase en una dll y referenciarla en el cliente y el servidor, te reutilizará esa clase.
    • Marcado como respuesta MatiCris lunes, 13 de abril de 2015 13:37
    lunes, 13 de abril de 2015 13:19

Todas las respuestas

  • Hay un truco para no tener que duplicar la clase: Cuando añadas la Referencia al WebService (si es necesario puedes borrarla y volverla a añadir), ponle la X en una casilla que hay en las propiedades avanzadas que se llama algo así como "reutilizar los tipos existentes".

    De esa manera, si ya tienes una entidad Persona en tu código cliente y el servicio web devuelve otra clase Persona, no se crean dos clases distintas (una la que tú pusiste en tu código y otra la que se te genera en el proxy del servicio web), sino que se omite generar la del proxy y se utiliza la tuya. De esta manera, no tienes que andar copiando los valores de las propiedades entre dos clases idénticas.

    Para hacerlo bien, tendrías que poner la clase en una DLL y hacer referencia a esa misma DLL tanto en el código fuente del servicio Web como en el código fuente del cliente, así se garantiza que sea efectivamente la misma.

    sábado, 11 de abril de 2015 17:00
  • hola

    podrias usar automapper para convertir de una tipo de clase a otra

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta MatiCris miércoles, 15 de abril de 2015 12:41
    domingo, 12 de abril de 2015 1:05
  • Hola Alberto, gracias por tu respuesta pero lo que mencionas no aparece...

    Atte. 

    • Marcado como respuesta MatiCris lunes, 13 de abril de 2015 13:35
    • Desmarcado como respuesta MatiCris lunes, 13 de abril de 2015 13:36
    lunes, 13 de abril de 2015 13:05
  • Hola Alberto, gracias por tu respuesta pero lo que mencionas no aparece...


    Sí, está ahí en la imagen que pusiste es la de "Volver a usar tipos en todos los ensamblados a los que se hace referencia". Si aplicas lo que te dije de guardar la clase en una dll y referenciarla en el cliente y el servidor, te reutilizará esa clase.
    • Marcado como respuesta MatiCris lunes, 13 de abril de 2015 13:37
    lunes, 13 de abril de 2015 13:19
  • Gracias haré las pruebas correspondientes.

    Atte.

    lunes, 13 de abril de 2015 13:37
  • Gracias por responder Leandro, estudiare automapper.

    Atte.

    lunes, 13 de abril de 2015 13:38
  • automapper funciono a la perfección :o)

    miércoles, 15 de abril de 2015 12:41