2011-11-25 17 views
5

Esta es probablemente una muy simple. Quise crear un código dentro de una clase [DataContract] que se usa para comunicar información entre un servicio WCF y una aplicación que consume.Biblioteca de clases portátil para la clase compartida [DataContract]

Creé un nuevo proyecto de Biblioteca de clases portátil y creé dentro de él mi clase [DataContract]. Es realmente simple: tiene algunos atributos fáciles (cadenas en su mayoría). Agregué una referencia a la DLL en mi servicio WCF y la volví a publicar. Luego eliminé la referencia de servicio de mi proyecto de consumo y la volví a agregar. Se agrega bien, no hay problemas allí.

El problema viene cuando quiero realmente usarlo. Ver, el tipo se llama 'Evaluar'. Algunos de los métodos WCF devuelven este tipo 'Eval'. Así que tengo esta versión serializada de 'Eval' en el archivo Reference.cs dentro de mi referencia de servicio. Obviamente, esto no contiene el método que estoy buscando, ya que es solo la versión serializada. También puedo agregar el dll al proyecto del cliente, pero luego tengo dos objetos Eval diferentes en dos espacios de nombres, y solo el de reference.cs es válido para ser devuelto por las llamadas al servicio.

Entonces, ¿cómo puedo ... erm ... fusionar los dos? Entonces, ¿cómo los objetos Eval que vuelven de las llamadas al servicio WCF también tienen acceso al método en cuestión?

Gracias por leer y mantenerse a salvo en esos caminos.

Respuesta

5

Al generar referencia de servicio puede especificar qué clases deben ser reutilizados y qué clases deben ser generados a partir servicio enter image description here

+1

1 Niza solución :) – Venemo

+0

Hola. Tal vez estoy siendo un poco denso, pero ¿podrías elaborar un poco? Quiero decir, sé la parte de la que estás hablando en la que puedes reutilizar dlls del servicio, pero no estoy seguro de qué hacer exactamente. Tengo una casilla de verificación para 'EvalPortableClassLibrary' (el nombre del proyecto). Supuse que como el valor predeterminado es reutilizar todo, me gustaría marcar todos excepto EvalPortableClassLibrary. Si lo hago, todavía me da una clase pública parcial Eval en References.cs que usa como el uso predeterminado de Eval. ¿He entendido mal? – user738383

+0

Borre su referencia y agréguela nuevamente, excluyendo su ensamblaje. A veces no actualiza correctamente la referencia –

Cuestiones relacionadas