Pregunta

Hola de nuevo, damas y caballeros!

ACEPTAR, a partir de mi otra pregunta sobre la ASP.NET Servicio Web de Resultados, las Clases de Proxy y el Tipo de Conversión.He llegado a una parte en mi proyecto donde necesito para obtener mi gorra para pensar.

Básicamente, tenemos un gran complejo de objeto personalizado que tiene que ser devuelto de un Servicio Web y se consume en la aplicación cliente.

Ahora, con base en la discusión anterior, sabemos que esto va para, a continuación, tomar la forma de la clase de proxy(es) como el tipo de retorno.Para superar esto, se necesita básicamente copiar las propiedades de uno a otro.

En este caso, que es algo que yo realmente, realmente, de verdad! como evitar!

Así que, me puse a pensar, de que otra manera podemos hacer esto?

Mis pensamientos actuales están para habilitar el objeto de completar la serialización en XML y, a continuación, devuelve el XML como una cadena desde el Servicio Web.Luego nos deserializar en el cliente.Esto significará un poco justo de atributo de decoración, pero al menos el código en ambos extremos será la luz, a saber, sobre la base de la .NET XML Serializador.

¿Cuáles son sus pensamientos sobre esto?

¿Fue útil?

Solución

El .Net XML (de)seriación está bastante bien implementado.En el primer pensamiento, no creo que esto es una mala idea en absoluto.

Si las dos aplicaciones de importación de la misma clase de C# (es) definición(s), entonces esta es una relativamente buena manera de conseguir constructor de copia comportamiento de forma gratuita.Si la clase de cambios en la estructura, entonces todo el trabajo cuando ambos lados de obtener la nueva definición de la clase, sin necesidad de hacer cambios adicionales en la web de consumo de servicios/construcción de lado.

Hay una leve sobrecarga en el cálculo de referencias y demarshalling el XML, pero que es probablemente dwarved por la sobrecarga de la web remoto de llamadas de servicio..Net XML seriación es bien entendido por la mayoría de los programadores y debe producir un fácil mantenimiento de la solución.

Otros consejos

Soy amante de JSON para este tipo de cosas.Acabo de terminar un POC de abandono cosas tipo portal de mi empresa, utilizando jQuery para contactar con servicios web con el script habilitado el servicio.Los mensajes son de peso ligero y de análisis, etc es bastante manejado.El jQuery ajax cosas que he leído aquí (amante de ella!) : jquery ajax artículo

He tenido algunos grandes respuestas en un tema similar ayer que podrían ser útiles para usted:

La comunicación entre javascript y el servidor

Rob, en mirar a tu otra pregunta, así como la presente, es suena como la situación exacta que tenemos en nuestro entorno.Lo que hemos hecho, sin embargo, se alejan de ASP.Net los servicios web los servicios web WCF y en el proceso de resolver (la mayor parte) de este problema.

Si hay cualquier posibilidad de que su servicio web podría ser implementado como un servicio web WCF, esto podría funcionar para usted también.Debo mencionar, que al mismo tiempo, hemos mantenido la compatibilidad con algunas aplicaciones de cliente que necesita el "ASP.Net servicio web de estilo" de la aplicación mediante el uso de WCF basichttp de enlace para el servicio de transporte.El resultado final es que nuestros "nuevos" aplicaciones de cliente son capaces de utilizar nuestro negocio real de los objetos (a través de la referencia a un ensamblado que contiene sólo estos objetos compartidos) como los tipos de retorno de las llamadas a los servicios web, ya que hacer real WCF llamadas.

Hacemos esto al no utilizar el auto-generado de las clases de proxy y construir nuestro propio canal de cliente para comunicarse con el servicio WCF.

Si usted posiblemente puede utilizar WCF, hágamelo saber me pueden enviar alguna información adicional.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top