Close Menu
Código Simples .NETCódigo Simples .NET
    Facebook X (Twitter) Instagram
    Trending
    • Clean Code (2ª edição): o que mudou e o que continua valendo
    • Sunk Cost em Arquitetura de Software: como evitar que meses de investimento virem uma armadilha
    • Guia Profissional de Prompting – Domando um ChatGPT Preguiçoso: Como Obter Respostas Completas, Profundas e Confiáveis
    • A Anatomia de um Prompt: Como Falar com a IA Como um Profissional de Tecnologia
    • Conheça os tipos de registros DNS: o guia completo sobre A, AAAA, NS, CNAME, MX, PTR, SOA, TXT, SRV, SPF e muito mais
    • Cache além do básico: por que LRU e TTL precisam andar juntos
    • Quando usar arquitetura modular — e quando não usar
    • Mais de 200 livros de programação gratuitos em português
    Facebook X (Twitter) Instagram
    Código Simples .NETCódigo Simples .NET
    Código Simples .NETCódigo Simples .NET
    Home»Asp.net»Differenças entre WCF, WCF REST, Web API e Web Service

    Differenças entre WCF, WCF REST, Web API e Web Service

    Jhonathan SoaresBy Jhonathan Soares25 de fevereiro de 20163 Mins Read Asp.net
    Share
    Facebook Twitter LinkedIn WhatsApp Copy Link

    O framework .Net tem uma série de tecnologias que permitem a criação de serviços HTTP, tais como Web Service, WCF e não tão recente assim WebApi. Há uma série de artigos sobre a internet sobre tutoriais de como usá-los de maneira bem simples. Mas imagine um cenário onde você tem monte de opções para construir serviços HTTP no .NET framework, o que levaria utilizar uma estrutura ou outra?. Neste artigo, eu gostaria de compartilhar minha opinião sobre estes modelos.

    Web Service
    • É baseado em SOAP e retorna os dados por padrão em XML.
    • Ele suporta apenas o protocolo HTTP.
    • Não é open source, mas pode ser consumido por qualquer cliente que entende xml.
    • Pode ser hospedado apenas no IIS.
    • Possui bastante documentação e possui fácil integração com outros frameworks baseados em .Net
    WCF
    • Ele também é baseado em SOAP e retorna os dados no padrão XML.
    • É a evolução do serviço web (ASMX) e suporta vários protocolos como o TCP, HTTP, HTTPS, Pipes , MSMQ.
    • O principal problema com WCF é, a sua configuração tediosa e extensa.
    • Não é open source, mas pode ser consumido por qualquer cliente que entende xml.
    • Ele pode ser hospedado no IIS ou usando window service.
    WCF Rest
    • Para usar WCF como um serviço WCF Rest basta você habilitar o webHttpBinding.
    • Ele suporta HTTP GET e POST por atributos [WebGet] e [WebInvoke] respectivamente.
    • Para permitir que outros verbos HTTP você tem que fazer configurações adicionais no IIS, o que pode ser um pouco custoso.
    • Passando dados através de parâmetros usando um WebGet o UriTemplate deve ser especificado e configurado.
    • Ele suporta XML, JSON e formato de dados ATOM.
    Web Api
    • Este é o mais novo framework para a construção de serviços HTTP e possui uma proposta de ser mais simples e fácil de utilizar.
    • Web API é open source e projetada para a construção de serviços REST-Ful com o .NET Framework.
    • Ao contrário do serviço WCF Rest, ele usa os recursos do HTTP (como URIs, pedido / resposta cabeçalhos, o cache, controle de versão, vários formatos de conteúdo)
    • Ele também suporta os recursos MVC como routing, controllers, action results, filter, model binders, IOC container e também dependency injection,
    • Ele pode ser hospedado como aplicação ou no IIS.
    • É uma arquitetura considerada “leve” e boa para dispositivos que a largura de banda é limitada, como dispositivos móveis por exemplo.
    • As respostas são formatadas pelo MediaTypeFormatter em JSON, XML ou qualquer formato que você deseja adicionar como um MediaTypeFormatter.
    Considerações finais:
    • Escolha WCF quando você quer criar um serviço que deve suportar cenários especiais, tais como mensageria, filas de mensagens, comunicação duplex etc.
    • Escolha WCF quando você quer criar um serviço que pode usar canais de transporte rápidas quando disponíveis, tais como TCP, Pipes, ou talvez mesmo UDP (em WCF 4.5).
    • Escolha Web API quando você quer criar um serviço sobre protocolo HTTP como Post , Get ou Put.
    • Escolha Web API quando você deseja expor seu serviço para uma ampla gama de clientes, incluindo navegadores, celulares, iphone e tablets.

     

    Esta é a minha opinião sobre qual serviço escolher. Avalie bem o seu cenário, seus recursos e tempo disponível para criação de cada projeto.

    Um abraço!

    Não deixem de dar uma passada na nossa página do Facebook! 🙂

     

    Share. Facebook Twitter LinkedIn Telegram WhatsApp Copy Link
    Jhonathan Soares
    • Website
    • Facebook
    • X (Twitter)
    • LinkedIn

    Criador do blog Código Simples e com mais 15 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist.

    Posts Relacionados

    O que é a Ecma e qual é sua relação com C#?

    C# Post do Leitor 29 de julho de 20247 Mins Read

    Boas práticas de criação, armazenamento e validação de senhas em .NET

    Asp.net Boas práticas 9 de julho de 20248 Mins Read

    UUID vs ULID: comparação e exemplos em C#

    C# 19 de junho de 20245 Mins Read
    Newsletter

    Digite seu endereço de e-mail para receber notificações de novas publicações por e-mail.

    Junte-se a 25mil outros assinantes
    Posts recentes
    • Clean Code (2ª edição): o que mudou e o que continua valendo
    • Sunk Cost em Arquitetura de Software: como evitar que meses de investimento virem uma armadilha
    • Guia Profissional de Prompting – Domando um ChatGPT Preguiçoso: Como Obter Respostas Completas, Profundas e Confiáveis
    • A Anatomia de um Prompt: Como Falar com a IA Como um Profissional de Tecnologia
    • Conheça os tipos de registros DNS: o guia completo sobre A, AAAA, NS, CNAME, MX, PTR, SOA, TXT, SRV, SPF e muito mais
    Categorias
    • Arquitetura (30)
      • Microsserviços (3)
      • Testes (2)
    • Asp.net (120)
      • C# (89)
      • Mvc (13)
    • Banco de dados (93)
      • NoSql (60)
      • Sql (38)
    • Boas práticas (34)
      • Gestão & Produtividade (4)
      • Metodologias Ágeis (6)
    • Cursos (53)
    • Dicas (108)
    • Front-End (92)
    • IA (6)
    • Linux (6)
    • NodeJS (4)
    • Post do Leitor (9)
    • Python (5)
    • Seo (12)
    • Tecnologia (30)
      • ITIL (1)
      • Padrões de Projeto (4)
    • Testes (2)

    VEJA TAMBÉM

    Cursos
    12 de fevereiro de 20166 Mins Read

    1000 livros gratuitos sobre programação!

    Olha que dica bacana! A pagina só com livros sobre programação é mantida no GitHub…

    30 APIs Gratuitas para desenvolvedores

    Código Simples no Facebook
    Código Simples no Facebook
    • Popular
    • Recente

    1000 livros gratuitos sobre programação!

    12 de fevereiro de 2016

    Google lança versão “invisível” do reCAPTCHA!

    10 de março de 2017

    Mini curso de HTML5 oferecido pela Microsoft

    30 de janeiro de 2014

    O que significa ( !important ) na declaração do CSS ?

    5 de fevereiro de 2014

    Programa para supercompactar arquivos. KGB Archiver.

    6 de fevereiro de 2014

    Clean Code (2ª edição): o que mudou e o que continua valendo

    12 de fevereiro de 2026

    Sunk Cost em Arquitetura de Software: como evitar que meses de investimento virem uma armadilha

    4 de fevereiro de 2026

    Guia Profissional de Prompting – Domando um ChatGPT Preguiçoso: Como Obter Respostas Completas, Profundas e Confiáveis

    30 de outubro de 2025

    A Anatomia de um Prompt: Como Falar com a IA Como um Profissional de Tecnologia

    30 de outubro de 2025

    Conheça os tipos de registros DNS: o guia completo sobre A, AAAA, NS, CNAME, MX, PTR, SOA, TXT, SRV, SPF e muito mais

    8 de outubro de 2025
    Nosso Feed
    • RSS - Posts
    Fique por dentro

    Digite seu endereço de email para assinar este blog e receber notificações de novas publicações por email.

    Facebook X (Twitter) Instagram LinkedIn

    Type above and press Enter to search. Press Esc to cancel.

    Vá para versão mobile