iferença entre WCF e API da Web

O que é WCF?

WCF significa Windows Communication Foundation. É usado para criar aplicativos distribuídos e interoperáveis. WCF é uma plataforma eficaz para o desenvolvimento de aplicativos orientados a serviços. Ele permite que os desenvolvedores criem soluções de desenvolvimento seguras, confiáveis ​​e de alto perfil que podem ser integradas entre plataformas e interoperar com os investimentos existentes.

Neste tutorial, você aprenderá

O que é API da Web?

ASP.NET Web API é uma estrutura que permite construir serviços HTTP para navegadores e dispositivos móveis. É uma plataforma ideal para desenvolver aplicativos RESTful no ASP .NET Framework.

A ASP.NET Web API é uma estrutura extensível para construir serviços baseados em HTTP que podem ser acessados ​​em diferentes aplicativos em diferentes plataformas, como web, windows, dispositivos móveis, etc.

DIFERENÇA CHAVE

  • O WCF oferece solicitação-resposta, unidirecional ou duplex, enquanto a API da Web é, por padrão, apenas solicitação-resposta.
  • O WCF é usado para desenvolver serviços baseados em SOAP, enquanto a API da Web é usada para serviços baseados em SOAP e RESTful.
  • O WCF não oferece suporte para recursos MVC, enquanto a API da Web oferece suporte para recursos MVC.
  • O WCF oferece suporte a HTTP, UDP e protocolo de transporte personalizado, enquanto a API da Web oferece suporte apenas ao protocolo HTTP.
  • O WCF oferece suporte a texto, MTOM e codificação binária, enquanto a API da Web oferece suporte ao formato de codificação UTF-8.
  • O WCF oferece suporte a filas de mensagens, segurança de mensagens, comunicação duplex, transações, enquanto a API Web não oferece suporte.
  • WCF significa Windows Communication Foundation, enquanto API significa Application Program Interface.

Por que usar o WCF?

Stack Overflow Questions ASP.net web API vs. WCF

como criar uma matriz em python

Aqui, estão os prós / benefícios de usar o WCF:

  • O WCF é uma opção ideal se você planeja usar o .NET Framework 3.5.
  • O WCF oferece suporte a vários protocolos, como HTTP, TCP, Pipe nomeado.
  • O serviço WCF é útil se você deseja criar um serviço com padrões como segurança de mensagens de transações e segurança de mensagens confiáveis.
  • Você pode usar os padrões de troca de mensagens Request-Reply, One Way e Duplex com o WCF.

Por que usar a API Web?

Google Trends WCF vs. API da web ASP.Net

Aqui, estão as vantagens / vantagens de usar a API da web:

  • A API Web fornece suporte para Ações CRUD baseadas em convenção, uma vez que funciona com verbos HTTP (GET, PUT, POST e DELETE)
  • É fácil definir, expor e consumir de maneira REST completa.
  • ASP.Net Web API permite que você exiba seus dados e serviços para vários dispositivos.
  • A API Web é de código aberto, por isso é uma opção ideal para criar serviços RESTful na plataforma .NET.
  • Permite o desenvolvimento escalonável e desacoplado de um serviço da web que pode ser compartilhado e usado por outros desenvolvedores para acessar serviços da web.
  • Também é útil construir serviços HTTP simples, não baseados em SOAP.

Características do WCF

  • Transportes altamente configuráveis
  • Melhores opções para serialização
  • Bem integrado com IIS
  • Fácil para auto-hospedagem
  • Metadados muito ricos
  • Modelo complexo para publicação
  • Contratos de dados ricos

Características da API Web

  • Fortemente acoplado a HTTP
  • Fácil de testar
  • Oferece suporte para negociação de conteúdo
  • Permite formatação aberta
  • Sem dependência de uma plataforma
  • Orientação de recursos sólidos
  • Experiência de nível 2 com suporte hipermídia nascente

WCF Vs Web Service

Parâmetro WCF API da web
Padrão de troca de mensagensSolicite resposta, unilateral ou duplex.Por padrão, apenas solicitação-resposta. No entanto, o padrão de mensagem adicional pode ser suportado com a integração de sockets da web.
HospedagemHospedagem IIS, Auto-hospedagem e serviços de ativação de obras.Auto-hospedagem e hospedagem IIS.
Código abertoNão é um software de código aberto.Ele é fornecido com o .NET framework. Ele também está disponível como um download independente.
Suporte para recursos MVCO WCF não oferece suporte para recursos MVC, como controladores, roteamento, filtro, resultados de leilão, etc.ASP.NET Web API oferece suporte a recursos MVC como roteamento, controladores, resultados, filtro, ação, etc.
Suporte de codificaçãoTexto, MTOM e Binário.Suporte padrão para formato de codificação UTF-8.
Suporte paraSuporte para HTTP, UDP e protocolo de transporte personalizado.Suporta apenas protocolo HTTP
Uso de modeloModelo de programação baseado em atribuição do usuário.Mapeia verbos HTTP para métodos
ConfiguraçãoUsa web.config e atributos para configurar uma classe HttpConfiguration, mas não no serviço web.config.A API da Web pode ser configurada usando o serviço web.config.
Serviços RESTfulOferece suporte para serviço RESTFUL, mas com limitações.Ideal para construção de serviços RESTFUL.

O fator decisivo para WCF vs. API da Web

A seguir está uma lista de verificação rápida para ajudar a determinar se deve usar WCF ou API da Web

Cenário WCF 4.5 API da Web ASP.NET
Requer suporte para cenários como filas de mensagens, segurança de mensagem ponta a ponta, comunicação duplex, transações distribuídas, etc.SelecioneNÃO selecione

Quando você já tem serviços WCF em funcionamento existentes e deseja adicionar suporte a HTTP adicionalmente.SelecioneNÃO selecione

Uma base de código para fornecer suporte a terminais SOAP e RESTful.SelecioneNÃO selecione

Deseja criar um serviço orientado a recursos sobre HTTP.NÃO selecioneSelecione

Seu projeto é um aplicativo MVC e deseja alguma funcionalidade sobre HTTP.NÃO selecioneSelecione

Você deseja construir apenas um serviço HTTP / RESTfulNÃO selecioneSelecione