Si lo que vos decís de hacer un mapper es el clásico foreach para pasar los datos de la lista recibida del wcf e una lista "manejable" por cualquier ámbito, se entiende, no me quedará otra que hacer eso. Lástima, porque los datos recibidos del wcf son tan simples que me hubiese servido haber podido usar esos datos.
Gracias De: [email protected] [mailto:[email protected]] En nombre de Leonardo Micheloni Enviado el: domingo, 17 de mayo de 2009 13:32 Para: [email protected] Asunto: [puntonet] DataContracts As ValueObjects Si no tenés posibilidad de utilizar la entidad de manera transparente (no conozco tu caso exáctamente) podés usar un mapper com automapper, o sino hacer tu propio mapper, por ejemplo con atributos, no sé, yo trataría de evitar caer en un xml para el mapeo porque.....es un problema más, creo que si no lo vas a estar configurando no tiene mucho sentido, pero como el mail anterior es una opinión propia, hice varias mapeadores para varias cosas y siempre terminé lamentando agregar overhead de configuración, podés meter eso en una clase de última lo cambiás después, pero ( y soy conciente que estoy pesado con este tema últimamente) iría por la solución del problema actual, no futuro, a lo sumo dejaría esa lógica en algún helper para poder tocar ante un eventual cambio. 2009/5/15 GOMEZ Gabriel <[email protected]<mailto:[email protected]>> Leonardo, Seguro, El tema se sucita cuando vos recibís el dato (DataContract) desde el Service y lo tenés que dirigir a la capa siguiente. ESA es la que, o debe hacer referencia al servicio para entender el dato, o, la capa que recibe el dato, castearlo a un dato que la capa subsiguiente reconozca. Se entiende? Nosotros probamos generar los DataContract en una capa extra (DLL) y hacerle referencia tanto en el WCF Service como en el Cliente, y luego tomar el resultado del Service como un dato ya definido en la Capa extra. Obviamente, dio error (no era tan obvio para cuando lo probamos..jaja). En fin, ese es el mayor problema, y, por ahora, habrá que castearlo a mano salvo que alguno tenga otra idea o solución. Saludos y Gracias, Gabriel De: [email protected]<mailto:[email protected]> [mailto:[email protected]<mailto:[email protected]>] En nombre de Leonardo Micheloni Enviado el: viernes, 15 de mayo de 2009 14:20 Para: [email protected]<mailto:[email protected]> Asunto: [puntonet] DataContracts As ValueObjects Hola Gabriel, Los contract no tienen por qué ser clases del servicio, son como cualquier entidad con un atributo que indica que es un contract, a menos que eso implique un problema o un impedimiento yo no tengo problemas en tenerlas en mi lógica, más si ya llegan de un modo que significa algo en tu negocio, es decir, si un Usuario que devuelve el WCF es justo lo que necesitás. Alguien dijo que todos los problemas de software se solucionan agregando una capa, lo que no se dice es que vas a tener los problemas de mantener esa capa. Lo que quiero decir es que yo no agragaría otra capa porque es una "mejor práctica" para mí la mejor de las prácticas es solucionar el problema de negocio con la menor complicación posible. Más allá de esto, si no es el mismo objeto podés usar un mapper automático como automapper (con lo cual te comprás otro problema, el de configurar y aprender el FW) o hacer uno vos.....pero como dije, es lo que yo pienso :) saludos, Leonardo. On 5/15/09, GOMEZ Gabriel <[email protected]<mailto:[email protected]>> wrote: Estimados, Tengo una consulta, Estamos desarrollando una aplicación (WinApp) que se alimenta de un Service (WCF) que le devuelve los datos como DataContracts. Dichos DataContracts (clases) me gustaría usarlos como tipos de datos (como comunmente usamos para pasar datos entre capas) pero me obliga a hacerle referencia al Service a cada una de las capas (proyectos) en donde necesito consumirlos. Cuales son las "Best Practices" que se utilizan en estos casos? En un proyecto anterior implementamos un "cast" manual (foreach para pasarlos a clases identicas que teníamos en un DLL que utilizábamos como repositorio de tipos de datos) pero la verdad nose si es la mejor opción. Espero sus opiniones. Gracias de Antemano y Saludos, Gabriel ________________________________ "AVISO LEGAL: Este correo electrónico y cualquier archivo transmitido con él pueden contener información propiedad de Ibope Argentina S.A. y/o Monitor de Medios Publicitarios S.A., o una de sus filiales o empresas vinculadas. Se trata de información confidencial que puede hallarse amparada por el secreto profesional. El acceso es restringido y el uso reservado -únicamente- para la persona física o jurídica que figura como destinatario del mensaje. Está prohibida su difusión y/o cesión y/o transmisión de datos y/o el uso -total o parcial- no autorizados expresamente por el remitente (Leyes nº 11.723; 24.766; 25.326 y concordantes). Si Ud. es el receptor pero no figura como destinatario y tampoco es la persona autorizada de entregar el correo electrónico al destinatario, le advertimos que ha recibido este mensaje por error y que cualquier uso, difusión, reenvío, impresión o copia del mismo y de sus archivos adjuntos se hallan estrictamente prohibidos. Si Ud. no es el destinatario especificado en este mensaje ni la persona debidamente autorizada por él, por favor contactarse inmediatamente con el remitente, eliminando la información aquí contenida de su sistema. En ningún caso podrá divulgarse o revelarse el contenido de este mensaje a terceros no autorizados. Muchas gracias." ________________________________ "AVISO LEGAL: Este correo electrónico y cualquier archivo transmitido con él pueden contener información propiedad de Ibope Argentina S.A. y/o Monitor de Medios Publicitarios S.A., o una de sus filiales o empresas vinculadas. Se trata de información confidencial que puede hallarse amparada por el secreto profesional. El acceso es restringido y el uso reservado -únicamente- para la persona física o jurídica que figura como destinatario del mensaje. Está prohibida su difusión y/o cesión y/o transmisión de datos y/o el uso -total o parcial- no autorizados expresamente por el remitente (Leyes nº 11.723; 24.766; 25.326 y concordantes). Si Ud. es el receptor pero no figura como destinatario y tampoco es la persona autorizada de entregar el correo electrónico al destinatario, le advertimos que ha recibido este mensaje por error y que cualquier uso, difusión, reenvío, impresión o copia del mismo y de sus archivos adjuntos se hallan estrictamente prohibidos. Si Ud. no es el destinatario especificado en este mensaje ni la persona debidamente autorizada por él, por favor contactarse inmediatamente con el remitente, eliminando la información aquí contenida de su sistema. En ningún caso podrá divulgarse o revelarse el contenido de este mensaje a terceros no autorizados. Muchas gracias." ________________________________ "AVISO LEGAL: Este correo electrónico y cualquier archivo transmitido con él pueden contener información propiedad de Ibope Argentina S.A. y/o Monitor de Medios Publicitarios S.A., o una de sus filiales o empresas vinculadas. Se trata de información confidencial que puede hallarse amparada por el secreto profesional. El acceso es restringido y el uso reservado -únicamente- para la persona física o jurídica que figura como destinatario del mensaje. Está prohibida su difusión y/o cesión y/o transmisión de datos y/o el uso -total o parcial- no autorizados expresamente por el remitente (Leyes nº 11.723; 24.766; 25.326 y concordantes). Si Ud. es el receptor pero no figura como destinatario y tampoco es la persona autorizada de entregar el correo electrónico al destinatario, le advertimos que ha recibido este mensaje por error y que cualquier uso, difusión, reenvío, impresión o copia del mismo y de sus archivos adjuntos se hallan estrictamente prohibidos. Si Ud. no es el destinatario especificado en este mensaje ni la persona debidamente autorizada por él, por favor contactarse inmediatamente con el remitente, eliminando la información aquí contenida de su sistema. En ningún caso podrá divulgarse o revelarse el contenido de este mensaje a terceros no autorizados. Muchas gracias."
