Todavía soy nuevo en el mundo de ASP.NET, así que podría estar muy lejos de la base aquí, pero hasta ahora esto es lo mejor de mi (limitado) conocimiento !ASP.NET Web Service Results, Proxy Classes y Type Conversion
Digamos que tengo un objeto comercial estándar "Contacto" en el Business namespace. Escribo un servicio web para recuperar la información de un contacto de una base de datos y devolverla. Luego escribo una solicitud de cliente para solicitar dichos detalles.
Ahora, también creo un método de utilidad que toma un "Contacto" y hace algo de magia con él, como Utils.BuyContactNewHat()
decir. Que por supuesto toma el contacto del tipo Business.Contact
.
luego vuelvo a mi aplicación cliente y desea utilizar el método BuyContactNewHat
, por lo que añadir una referencia a mi espacio de nombres Utilidades y ahí está. Sin embargo, surge un problema con:
Contact c = MyWebService.GetContact("Rob);
Utils.BuyContactNewHat(c); // << Error Here
Dado que el tipo de retorno de GetContact
es de MyWebService.Contact
y no Business.Contact
como se esperaba. Entiendo por qué es así, porque al acceder a un servicio web, en realidad está programando contra la clase de proxy generada por el WSDL.
Entonces, ¿hay una manera "más fácil" de lidiar con este tipo de discrepancia? Estuve considerando quizás intentar crear una clase de convertidor genérico que use la reflexión para asegurar que dos objetos tengan la misma estructura, que simplemente transfiriendo los valores de uno a otro.