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."

Responder a