Rozdíl mezi WCF a Web API

Co je WCF?

WCF znamená Windows Komunikace Foundation. Používá se k vytváření distribuovaných a interoperabilních aplikací. WCF je efektivní platforma pro vývoj aplikací orientovaných na služby. Umožňuje vývojářům vytvářet bezpečná, spolehlivá a vysoce profilová vývojová řešení, která lze integrovat napříč platformami a spolupracovat se stávajícími investicemi.

Co je Web API?

ASP.NET Web API je framework, který vám umožňuje vytvářet HTTP služby pro prohlížeče a mobilní zařízení. Je to ideální platforma pro vývoj RESTful aplikace na ASP .NET Framework.

ASP.NET Web API je rozšiřitelný rámec pro vytváření služeb založených na HTTP, ke kterým lze přistupovat v různých aplikacích na různých platformách, jako je web, okna, mobilní zařízení atd.

KLÍČOVÝ ROZDÍL

  • WCF nabízí požadavek-odpověď, jednosměrný nebo duplexní, zatímco Web API je ve výchozím nastavení pouze požadavek-odpověď.
  • WCF se používá pro vývoj služeb založených na SOAP, zatímco Web API se používá pro služby založené na SOAP i RESTful.
  • WCF nenabízí žádnou podporu pro funkce MVC, zatímco Web API podporuje funkce MVC.
  • WCF podporuje HTTP, UDP a vlastní přenosový protokol, zatímco Web API podporuje pouze protokol HTTP.
  • WCF nabízí podporu textového, MTOM a binárního kódování, zatímco webové rozhraní API podporuje formát kódování UTF-8.
  • WCF podporuje fronty zpráv, zabezpečení zpráv, duplexní komunikaci, transakce, zatímco webové rozhraní API nepodporuje.
  • WCF znamená Windows Komunikace Foundation zatímco API je zkratka pro Application Program Interface.

Proč používat WCF?

Otázky přetečení zásobníku ASP.net webové API vs. WCF
Otázky přetečení zásobníku ASP.net webové API vs. WCF

Zde jsou výhody/výhody používání WCF:

  • WCF je ideální volbou, pokud plánujete použití .NET Framework 3.5.
  • WCF podporuje více protokolů, jako je HTTP, TCP, Named pipe.
  • Služba WCF je užitečná, pokud chcete budovat službu se standardy, jako je zabezpečení transakčních zpráv a spolehlivé zabezpečení zpráv.
  • S WCF můžete použít vzory výměny zpráv typu požadavek-odpověď, jednosměrný a duplexní.

Proč používat Web API?

Google Trends WCF vs. webové rozhraní API ASP.Net

Google Trends WCF vs. webové rozhraní API ASP.Net

Zde jsou výhody/výhody používání webového rozhraní API:

  • Web API poskytuje podporu pro akce CRUD založené na konvencích, protože pracuje se slovesy HTTP (GET, PUT, POST a DELETE)
  • Je snadné jej definovat, vystavovat a konzumovat ODPOČINOVÝM způsobem.
  • Web API ASP.Net vám umožňuje předvést vaše data a služby různým zařízením.
  • Web API je open source, takže je ideální volbou pro vytváření RESTful služeb na platformě .NET.
  • Umožňuje vám škálovatelný, oddělený vývoj webové služby, kterou lze sdílet a používat jiní vývojáři pro přístup k webovým službám.
  • Je také užitečné vytvořit jednoduché služby HTTP, které nejsou založené na SOAP.

Charakteristika WCF

  • Vysoce konfigurovatelné transporty
  • Lepší možnosti pro serializaci
  • Dobře integrovaný s IIS
  • Snadné pro self-hosting
  • Velmi bohatá metadata
  • Komplexní model pro publikaci
  • Bohaté datové smlouvy

Charakteristika webového API

  • Pevně ​​propojeno s HTTP
  • Snadno testovatelné
  • Nabízí podporu pro vyjednávání obsahu
  • Umožňuje formátování s otevřeným koncem
  • Žádné spoléhání na platformu
  • Solidní orientace na zdroje
  • Zkušenosti úrovně 2 s podporou vznikajících hypermedií

WCF vs webová služba

WCF vs webová služba

Parametr WCF Webové rozhraní API
Vzor výměny zpráv Vyžádejte si odpověď, jednosměrnou nebo duplexní. Ve výchozím nastavení pouze žádost-odpověď. Integrací webových soketů však lze podporovat další vzor zpráv.
hosting IIS hosting, self-hosting a služby aktivace prací. Self-hosting a IIS hosting.
Open Source Nejedná se o software s otevřeným zdrojovým kódem. Je dodáván s frameworkem.Net. Je také k dispozici jako nezávislé stažení.
Podpora funkcí MVC WCF neposkytuje žádnou podporu pro funkce MVC, jako jsou ovladače, směrování, filtr, výsledky aukcí atd. ASP.NET Web API podporuje funkce MVC, jako je směrování, řadiče, výsledky, filtr, akce atd.
Podpora kódování Text, MTOM a binární. Výchozí podpora formátu kódování UTF-8.
Podpora Podpora pro HTTP, UDP a vlastní transportní protokol. Podporuje pouze protokol HTTP
Použití modelu Programovací model založený na uživatelských atributech. Mapuje HTTP slovesa na metody
Konfigurace Používá web.config a atributy ke konfiguraci třídy HttpConfiguration, ale ne ve službě web.config. Web API lze konfigurovat pomocí služby web.config.
RESTful služby Nabízí podporu pro službu RESTFUL, ale s omezeními. Ideální pro budování služeb RESTFUL.

Rozhodující faktor pro WCF vs. Web API

Následuje rychlý kontrolní seznam, který vám pomůže určit, zda použít WCF nebo Web API

Scénář WCF 4.5 Web API ASP.NET
Vyžaduje podporu pro scénáře, jako jsou fronty zpráv, zabezpečení zpráv od začátku do konce, duplexní komunikace, distribuované transakce atd. vybrat NEVYBEREJTE
Pokud již máte existující fungující služby WCF a chcete dodatečně přidat podporu HTTP. vybrat NEVYBEREJTE
Jedna kódová základna pro poskytování podpory koncových bodů SOAP i RESTful. vybrat NEVYBEREJTE
Chce vytvořit službu orientovanou na zdroje přes HTTP. NEVYBEREJTE vybrat
Váš projekt je aplikace MVC a vyžaduje nějakou funkcionalitu přes HTTP. NEVYBEREJTE vybrat
Chcete vytvořit pouze HTTP / RESTful služby NEVYBEREJTE vybrat