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