Partilhar via


Migrando ASP.NET Web Services para WCF

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

WCF tem várias vantagens importantes em relação a ASP.NET serviços Web. Enquanto ASP.NET ferramentas de serviços Web são 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 comunicar entre si. Isso reduzirá o número de tecnologias que os desenvolvedores são obrigados a 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 suporta mais protocolos de serviço Web do que ASP.NET suporte a serviços Web. Estes protocolos adicionais proporcionam soluções mais sofisticadas que envolvem, entre outras coisas, sessões e transações fiáveis.

WCF suporta mais protocolos para transportar mensagens do que ASP.NET serviços Web. ASP.NET serviços Web suportam apenas o envio de mensagens usando o protocolo HTTP (Hypertext Transfer Protocol). O WCF oferece suporte ao envio de mensagens usando HTTP, bem como o TCP (Transmission Control Protocol), pipes nomeados e Microsoft Message Queuing (MSMQ). Mais importante, o WCF pode ser estendido para oferecer suporte a protocolos de transporte adicionais. Portanto, o software desenvolvido usando WCF pode ser adaptado para trabalhar em conjunto com uma maior variedade de outros softwares, aumentando assim o retorno potencial do investimento.

O WCF fornece recursos muito mais avançados para implantar e gerenciar aplicativos do que ASP.NET serviços da Web fornecem. Além de um sistema de configuração, que ASP.NET também tem, o WCF oferece um editor de configuração, rastreamento de atividades de remetentes para recetores e de volta através de qualquer número de intermediários, um visualizador de rastreamento, registro de mensagens, um grande número de contadores de desempenho e suporte para Instrumentação de Gerenciamento do Windows.

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

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

  • Continue usando ASP.NET serviços Web com a intenção de adotar o WCF em algum momento no futuro. Os tópicos desta seção explicam como maximizar as perspetivas de poder usar novos aplicativos de serviço Web ASP.NET junto com futuros aplicativos WCF. Os tópicos desta seção também explicam como criar novos serviços Web ASP.NET para facilitar a migração deles 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 instalações de gerenciamento personalizadas tiverem que ser construídas, então é uma opção melhor adotar o WCF. O WCF foi projetado precisamente para esses cenários.

  • Adote o WCF para novos desenvolvimentos, enquanto continua a manter seus aplicativos de serviço Web ASP.NET existentes. Esta escolha é muito provavelmente a ótima. Ele produz os benefícios do WCF, enquanto poupa 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 serviços Web ASP.NET existentes e o WCF poderá ser usado para programar novos recursos operacionais em aplicativos ASP.NET existentes em virtude do modo de compatibilidade WCF ASP.NET.

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

Nota

Deve-se ter cuidado se um serviço WCF for hospedado pelo IIS 5.x e ASP.NET for desinstalado. Quando um serviço WCF é hospedado pelo IIS 5.x, o código para o serviço pode ser solicitado se ASP.NET for desinstalado. Quando ASP.NET é desinstalado em um sistema operacional que está executando o IIS 5.x e WCF é 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 ASP.NET Web Services com o WCF e fornece instruções sobre como migrar o código dos Serviços Web ASP.NET para o WCF.

Consulte também