A referência de serviço WCF não reutiliza os tipos de montagens existentes (vs 2010 beta 2)

StackOverflow https://stackoverflow.com/questions/2066343

  •  20-09-2019
  •  | 
  •  

Pergunta

Estou procurando a melhor abordagem para compartilhar tipos (as classes reais, não proxies) entre um serviço WCF e um cliente. Para esse fim, defini as classes em uma montagem separada que o serviço e a referência do cliente. Selecionei "Tipos de reutilização em todos os conjuntos referenciados" ao gerar a referência de serviço no cliente, mas referências.cs são geradas com proxies para todas as classes.

Esta é exatamente a mesma pergunta que Este, mas não sei como implementar a solução aceita. Uma diferença é que estou usando o VS 2010 Beta 2.

importar o contrato de serviço completo no formulário de código

ou

Crie sua própria classe derivada da base de clientes. É realmente muito fácil

Supondo que essa seja a melhor abordagem, eu apreciaria um bom link que abrange como fazer isso. A abordagem é descrita na resposta vinculada a melhor?

Foi útil?

Solução

Eu fiz duas coisas na mesma etapa. Não tenho certeza se um ou ambos resolveram o problema:

  1. Adicionado um [DataContract (namespace = "my.shared.assemblys.namespace")] a 1 das classes na assembléia compartilhada.
  2. Reiniciado vs 2010 beta 2

Outras dicas

Tinha o mesmo problema, mas eu esqueci de construir a montagem com o DataContracts para o cliente e, portanto, estava gerando seus próprios contratos. Depois de reconstruir a assembléia - ela reutilizou.

Meu problema com o VS2010 SP1 estava tentando usar uma classe que derivava de Dictionary<T,U> com um CollectionDataContract atributo. Parece que o VS não reutiliza o tipo ... Eu também tentei a sugestão de Eric acima, mas não funcionou.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top