Como adicionar webservices como referencia comum ao invés de web reference ou service reference?

Em soluções que envolvam vários projetos no Visual Studio as referencias a serviços podem ficar perdidas. A associação a um service é feita com “Add Web Reference” ou com “Add Service Reference”. Com isto o Visual Studio obtém o WSDL do serviço e gera o código em C#, VB, etc. É fácil atualizar a referência, útil quando está desenvolvendo a aplicação cliente e o WebService.
Existe um alternativa interessante. Com as aplicações WSDL e CSC pode-se utilizar os webservices como referencias comuns no projeto. Isto pode ser útil:
  • É mais fácil estender funcionalidades do WebService no cliente
  • É mais flexível de utilizar a referência entre os projetos

Gerando o DLL a partir do webservice?

Considero um cenário em que o WebService está sendo criado manualmente.
Para criar uma DLL a partir de um webservice, siga os passos:

1. Crie um projeto do tipo WebService

2. Adicione os webmethods que desejar

3. Compile o webservice

4. Abra o prompt de comando do Visual Studio

5. Execute a linha de comando com WSDL

wsdl /language:cs /out:c:projetosfinanceiroservice.cs /namespace:FinanceiroService http://localhost:1974/Service1.asmx?WSDL

6. Execute a linha de comando com CSC

csc /target:library /out:c:projetosfinanceiroservice.dll c:projetosfinanceiroservice.cs

7. Crie outra aplicação cliente

8. Adione uma referencia

9. Selecione a DLL gerada no passo 6

10. Utilize o serviço no cliente

11. Adicione a referencia de System.Web.Services

12. Voilà! Pronto.


Thiago Anselme
Thiago Anselme - Gerente de TI - Arquiteto de Soluções

Ele atua/atuou como Dev Full Stack C# .NET / Angular / Kubernetes e afins. Ele possui certificações Microsoft MCTS (6x), MCPD em Web, ITIL v3 e CKAD (Kubernetes) . Thiago é apaixonado por tecnologia, entusiasta de TI desde a infância bem como amante de aprendizado contínuo.

Deixe um comentário