2008-09-25 9 views
5

Agrego una referencia de servicio a uno de mis proyectos en Visual Studio 2008. En la pantalla "Configuración de referencia de servicio" selecciono la opción predeterminada que dice "Tipos de reutilización" en todos los ensambles a los que se hace referencia ". He hecho referencia al proyecto para el cual quiero reutilizar un tipo. Ese tipo se transfiere como un parámetro a un método web."Reutilizar tipos existentes" se ignora al agregar una referencia de servicio

Sin embargo, cuando se genera el archivo References.cs, aún crea una versión proxy duplicada de ese tipo. ¿Hay algo que este olvidando? ¿Necesita hacer algo especial para el tipo al que se hace referencia? Tal vez agregar algunos atributos especiales?

Respuesta

6

He respondido mi propia pregunta (creo). Lo que intentaba hacer era usar una referencia de servicio para apuntar a un servicio web ASP.NET existente, pero reutilizar tipos no es compatible con los servicios web de la vieja escuela. Solo funciona con servicios de WCF. Así que me lancé a la zaga y convertí mi servicio web a un verdadero servicio de WCF y ahora funciona bien.

5

Tuve un problema similar hasta que definí el siguiente atributo en el código para que el espacio de nombres de los objetos relacionados con el contrato de servicio se estableciera en el mismo espacio de nombres que los tipos a los que se hace referencia comúnmente.

[assembly: ContractNamespace("YOUR_NAMESPACE_HERE")] 
+0

¿Dónde estableciste esto? En la interfaz del servicio, o la clase de implementación? Ambos me dan un error diciendo que es un lugar no válido para poner el atributo ... – drozzy

+0

drozzy, el atributo es el alcance de la asamblea, debe colocarse comúnmente en assemblyinfo.cs pero no se me ayudó ... – devi

Cuestiones relacionadas