Migrando serviços Web do ASP.NET para o WCF

O ASP.NET fornece bibliotecas de classes e ferramentas do .NET Framework para a criação de serviços Web, bem como instalações para hospedagem de serviços no IIS (Serviços de Informações da Internet). O WCF (Windows Communication Foundation) fornece bibliotecas de classes, ferramentas e instalações de hospedagem do .NET Framework para permitir que entidades de software se comuniquem usando todos os protocolos, incluindo aqueles usados pelos serviços Web. A migração dos serviços Web do ASP.NET para o WCF permite que seus aplicativos aproveitem novos recursos e aprimoramentos exclusivos do WCF.

O WCF tem várias vantagens importantes em relação aos serviços Web do ASP.NET. Embora as ferramentas dos serviços Web do ASP.NET sejam exclusivamente para a criação de serviços Web, o WCF fornece ferramentas que podem ser usadas quando entidades de software devem ser feitas para se comunicarem entre si. Isso reduzirá o número de tecnologias que os desenvolvedores devem conhecer para acomodar diferentes cenários de comunicação de software, o que, por sua vez, reduzirá o custo dos recursos de desenvolvimento de software, bem como o tempo para concluir projetos de desenvolvimento de software.

Mesmo para projetos de desenvolvimento de serviços Web, o WCF dá suporte a mais protocolos do que os serviços Web do ASP.NET dão. Esses protocolos adicionais fornecem soluções mais sofisticadas que envolvem, entre outras coisas, sessões confiáveis e transações.

O WCF dá suporte a mais protocolos para transportar mensagens do que o ASP.NET serviços Web. Os serviços Web do ASP.NET só dão suporte ao envio de mensagens usando o HTTP (Hypertext Transfer Protocol). O WCF dá suporte ao envio de mensagens usando HTTP, bem como o TCP (Transmission Control Protocol), pipes nomeados e MSMQ (Enfileiramento de Mensagens da Microsoft). Mais importante, o WCF pode ser estendido para dar suporte a protocolos de transporte adicionais. Portanto, o software desenvolvido usando o WCF pode ser adaptado para trabalhar em conjunto com uma variedade mais ampla de outros softwares, aumentando, assim, o potencial retorno sobre o investimento.

O WCF fornece instalações muito mais avançadas para implantar e gerenciar aplicativos do que os serviços Web do ASP.NET. Além de um sistema de configuração, que o ASP.NET também tem, o WCF oferece um editor de configuração, rastreamento de atividades de remetentes para receptores e de volta por meio de qualquer número de intermediários, um visualizador de rastreamento, registro em log de mensagens, um grande número de contadores de desempenho e suporte para Instrumentação de Gerenciamento do Windows.

Considerando esses benefícios potenciais do WCF em relação aos serviços Web do ASP.NET, se você estiver usando ou estiver considerando usar serviços Web do ASP.NET, você tem várias opções:

  • Continue a usar os serviços Web do ASP.NET e abandone os benefícios oferecidos pelo WCF.

  • Continue usando os serviços Web do ASP.NET com a intenção de adotar o WCF em algum momento no futuro. Os tópicos desta seção explicam como maximizar as perspectivas de poder usar novos aplicativos dos serviços Web do ASP.NET juntamente com futuros aplicativos WCF. Os tópicos desta seção também explicam como criar novos serviços Web do ASP.NET para facilitar a migração para o WCF. No entanto, se a proteção dos serviços for importante ou se forem necessárias garantias de confiabilidade ou transação, ou se for necessário construir instalações de gerenciamento personalizadas, adotar o WCF será uma opção melhor. O WCF foi projetado para esses cenários com precisão.

  • Adote o WCF para novo desenvolvimento, e mantenha seus aplicativos dos serviços Web do ASP.NET existentes. É muito provável que essa escolha seja a ideal. Ela gera os benefícios do WCF, poupando o custo de modificar os aplicativos existentes para usá-lo. Nesse cenário, novos aplicativos WCF podem coexistir com aplicativos ASP.NET existentes. Novos aplicativos WCF poderão usar os serviços Web do ASP.NET existentes, e o WCF pode ser usado para programar novos recursos operacionais em aplicativos ASP.NET existentes em virtude do modo de compatibilidade do ASP.NET e do WCF.

  • Adote o WCF e migre aplicativos existentes dos serviços Web do ASP.NET para o WCF. Você pode escolher essa opção para aprimorar os aplicativos existentes com recursos fornecidos pelo WCF ou reproduzir a funcionalidade dos serviços Web do ASP.NET existentes em aplicativos WCF novos e mais avançados.

Observação

É necessário ter cuidado se um serviço WCF for hospedado pelo IIS 5.x e o ASP.NET estiver desinstalado. Quando um serviço WCF é hospedado pelo IIS 5.x, o código do serviço pode ser solicitado se o ASP.NET estiver desinstalado. Quando o ASP.NET estiver desinstalado em um sistema operacional que esteja executando o IIS 5.x e o WCF estiver desinstalado, um arquivo com a extensão .svc é considerado um arquivo de texto e o conteúdo, incluindo qualquer código-fonte, é retornado ao solicitante.

Esta seção descreve essas opções em detalhes, compara os Serviços Web do ASP.NET com o WCF e fornece instruções sobre como migrar seu código de serviços Web do ASP.NET para o WCF.

Confira também