Partilhar via


WCF e ASP.NET Web API

WCF é o modelo de programação unificado da Microsoft para a criação de aplicativos orientados a serviços. Ele permite que os desenvolvedores criem soluções seguras, confiáveis e transacionadas que se integram entre plataformas e interoperam com os investimentos existentes. ASP.NET API Web é uma estrutura que facilita a criação de serviços HTTP que alcançam uma ampla gama de clientes, incluindo navegadores e dispositivos móveis. ASP.NET Web API é uma plataforma ideal para criar aplicativos RESTful no .NET Framework. Este tópico apresenta algumas orientações para ajudá-lo a decidir qual tecnologia atenderá melhor às suas necessidades.

Escolher a tecnologia a utilizar

A tabela a seguir descreve os principais recursos de cada tecnologia.

WCF API Web ASP.NET
Permite a criação de serviços que suportam vários protocolos de transporte (HTTP, TCP, UDP e transportes personalizados) e permite alternar entre eles. Apenas HTTP. Modelo de programação de primeira classe para HTTP. Mais adequado para acesso a partir de vários navegadores, dispositivos móveis, etc, permitindo um amplo alcance.
Permite a criação de serviços que suportam várias codificações (Texto, MTOM e Binário) do mesmo tipo de mensagem e permite alternar entre elas. Permite a criação de APIs da Web que suportam uma grande variedade de tipos de mídia, incluindo XML, JSON, etc.
Suporta a criação de serviços com padrões WS-*, como mensagens confiáveis, transações, segurança de mensagens. Usa protocolos e formatos básicos como HTTP, WebSockets, SSL, JSON e XML. Não há suporte para protocolos de nível superior, como mensagens confiáveis ou transações.
Suporta padrões de troca de mensagens Request-Reply, One Way, e Duplex. HTTP é solicitação/resposta, mas padrões adicionais podem ser suportados por meio da integração SignalR e WebSockets.
Os serviços WCF SOAP podem ser descritos em WSDL, permitindo que ferramentas automatizadas gerem proxies de cliente, mesmo para serviços com esquemas complexos. Há uma variedade de maneiras de descrever uma API da Web, desde a página de ajuda HTML gerada automaticamente descrevendo trechos até metadados estruturados para APIs integradas OData.
É fornecido com o .NET Framework. Vem com o .NET Framework, mas é de código aberto e também está disponível fora da banda como download independente.

Use o WCF para criar serviços Web confiáveis e seguros que sejam acessíveis em uma variedade de transportes. Use ASP.NET API Web para criar serviços baseados em HTTP que são acessíveis a partir de uma ampla variedade de clientes. Use ASP.NET API da Web se estiver criando e projetando novos serviços no estilo REST. Embora o WCF forneça algum suporte para escrever serviços no estilo REST, o suporte para REST em ASP.NET API Web é mais completo e todas as futuras melhorias de recursos REST serão feitas em ASP.NET API Web. Se você tiver um serviço WCF existente e quiser expor pontos de extremidade REST adicionais, use WCF e o WebHttpBinding.

Consulte também