Pregunta

Siento que esta es una pregunta estúpida incluso antes de hacerla, pero mi cerebro no funciona demasiado bien en este momento. Tengo dos servicios WCF " CountryService " y "FloristService".

Ahora CountryService tiene el siguiente método:

IList<CountryDTO> GetAllCountries();

Además, FloristService tiene un método:

bool AddFlorist(FloristDTO florist);

Todo bien hasta ahora, pero el problema es que FloristDTO hace referencia a un CountryDTO, es decir,

    public  string Address1 { get; set; }
    public  string Address2 { get; set; }
    public  string Address3 { get; set; }
    public  string City { get; set; }
    public  string Postcode { get; set; }
    public  CountryDTO Country { get; set; }
    public  string Name { get; set; }

Esto está bien, pero si uso la utilidad de generación de proxy de servicio con Visual Stuidos (es decir, Agregar referencia > Agregar referencia de servicio), obtengo dos versiones de CountryDTO, es decir, FloristService.CountryDTO y CountryService.CountryDTO.

Ahora puedo pensar en algunas formas de superar esto, pero ninguna de ellas parece correcta. Me preguntaba cuál era el "correcto" El enfoque para esto sería: ¿hay algo extraño que pueda hacer con la herramienta de generación de proxy para que comparta DTO comunes?

Saludos, Chris

Otros consejos

Artículo " Cómo reutilizar los tipos en los puntos finales de servicio " sugiere en el lado del cliente actualizar manualmente Reference.svcmap para incluir múltiples y NamespaceMappings.

Alternativamente, svcutil le permite especificar múltiples puntos finales al mismo tiempo y utilizar los parámetros / r (/ referencia) y / n (/ espacio de nombres).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top