A referência de serviço WCF não reutiliza os tipos de montagens existentes (vs 2010 beta 2)
-
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?
Solução
Eu fiz duas coisas na mesma etapa. Não tenho certeza se um ou ambos resolveram o problema:
- Adicionado um [DataContract (namespace = "my.shared.assemblys.namespace")] a 1 das classes na assembléia compartilhada.
- 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.