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]] En nombre de Leonardo 
Micheloni
Enviado el: viernes, 15 de mayo de 2009 14:20
Para: [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."

Responder a