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?
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?
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
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 |