Forskellen mellem WCF og Web API

Hvad er WCF?

WCF stรฅr for Windows Kommunikation Foundation. Det bruges til at skabe en distribueret og interoperabel applikation. WCF er en effektiv platform til udvikling af serviceorienterede applikationer. Det giver udviklere mulighed for at skabe sikre, pรฅlidelige og hรธjprofilerede udviklingslรธsninger, som kan integreres pรฅ tvรฆrs af platforme og interoperere med eksisterende investeringer.

Hvad er Web API?

ASP.NET Web API er en ramme, som giver dig mulighed for at bygge HTTP-tjenester til browsere og mobile enheder. Det er en ideel platform til udvikling RESTful applikationer pรฅ ASP .NET Framework.

ASP.NET Web API er en udvidelsesbar ramme til opbygning af HTTP-baserede tjenester, der kan tilgรฅs i forskellige applikationer pรฅ forskellige platforme sรฅsom web, windows, mobile enheder osv.

Nรธgleforskel

  • WCF tilbyder anmodning-svar, en-vejs eller duplex, mens Web API som standard kun er anmodning-svar.
  • WCF bruges til at udvikle SOAP-baserede tjenester, hvorimod Web API bruges til bรฅde SOAP-baserede og RESTful-tjenester.
  • WCF tilbyder ingen understรธttelse af MVC-funktioner, hvorimod Web API understรธtter MVC-funktioner.
  • WCF understรธtter HTTP, UDP og brugerdefineret transportprotokol, hvorimod Web API kun understรธtter HTTP-protokol.
  • WCF tilbyder understรธttelse af tekst, MTOM og binรฆr kodning, mens Web API understรธtter UTF-8-kodningsformatet.
  • WCF understรธtter meddelelseskรธer, meddelelsessikkerhed, duplekskommunikation, transaktion, hvorimod Web API ikke understรธtter.
  • WCF stรฅr for Windows Kommunikation Foundation hvorimod API stรฅr for Application Program Interface.

Hvorfor bruge WCF?

Stack Overflow-spรธrgsmรฅl ASP.net web API vs. WCF
Stack Overflow-spรธrgsmรฅl ASP.net web API vs. WCF

Her er fordele/fordele ved at bruge WCF:

  • WCF er en ideel mulighed, hvis du planlรฆgger at bruge .NET Framework 3.5.
  • WCF understรธtter flere protokoller sรฅsom HTTP, TCP, Named pipe.
  • WCF-tjenesten er nyttig, hvis du vil bygge service med standarder som Transactions Messaging-sikkerhed og Reliable Message Security.
  • Du kan bruge Request-Reply, One Way og Duplex-meddelelsesudvekslingsmรธnstre med WCF.

Hvorfor brugte Web API?

Google Trends WCF vs. ASP.Net web-API

Google Trends WCF vs. ASP.Net web-API

Her er fordele/fordele ved at bruge web API:

  • Web API understรธtter konventionsbaserede CRUD-handlinger, da det fungerer med HTTP-verber (GET, PUT, POST og DELETE)
  • Det er nemt at definere, eksponere og forbruge pรฅ en REST-fuld mรฅde.
  • ASP.Net Web API giver dig mulighed for at fremvise dine data og tjenester til forskellige enheder.
  • Web API er open source, sรฅ det er en ideel mulighed for at skabe RESTful tjenester over .NET platformen.
  • Giver dig mulighed for skalerbar, afkoblet udvikling af en webtjeneste, som kan deles og bruges af andre udviklere til at fรฅ adgang til webtjenester.
  • Det er ogsรฅ nyttigt at bygge enkle, ikke-SOAP-baserede HTTP-tjenester.

Karakteristika for WCF

  • Meget konfigurerbare transporter
  • Bedre muligheder for serialisering
  • Velintegreret med IIS
  • Nem til selv-hosting
  • Meget rige metadata
  • Kompleks model til udgivelse
  • Rige datakontrakter

Karakteristika for Web API

  • Tรฆt koblet til HTTP
  • Let at teste
  • Tilbyder support til indholdsforhandling
  • Tillader รฅben formatering
  • Ingen afhรฆngighed af en platform
  • Solid ressourceorientering
  • Niveau 2 erfaring med spirende hypermediestรธtte

WCF vs webservice

WCF vs webservice

Parameter WCF Web API
Beskedudvekslingsmรธnster Anmod om svar, envejs eller dupleks. Som standard kun anmodning-svar. Yderligere beskedmรธnster kan dog understรธttes med web-sockets-integration.
Hosting IIS hosting, Self-hosting & Works aktiveringstjenester. Self-hosting & IIS-hosting.
Open Source Det er ikke open source-software. Den leveres med.Net framework. Den er ogsรฅ tilgรฆngelig som en uafhรฆngig download.
Understรธttelse af MVC-funktioner WCF yder ingen support til MVC-funktioner som controllere, routing, filter, auktionsresultater osv. ASP.NET Web API understรธtter MVC-funktioner som routing, controllere, resultater, filter, handling osv.
Understรธttelse af kodning Tekst, MTOM og binรฆr. Standardunderstรธttelse af UTF-8-kodningsformat.
Stรธtte til Understรธttelse af HTTP, UDP og tilpasset transportprotokol. Understรธtter kun HTTP-protokol
Brug af model Brugertilskrevet baseret programmeringsmodel. Maps HTTP verber til metoder
Konfiguration Bruger web.config og attributter til at konfigurere en HttpConfiguration-klasse, men ikke pรฅ web.config-tjenesten. Web API kan konfigureres ved hjรฆlp af web.config service.
RESTful tjenester Det tilbyder understรธttelse af RESTFUL service, men med begrรฆnsninger. Ideel til at bygge RESTFUL services.

Den afgรธrende faktor for WCF vs. Web API

Fรธlgende er en hurtig tjekliste for at hjรฆlpe med at afgรธre, om der skal bruges WCF eller Web API

Scenario WCF 4.5 ASP.NET Web API
Krรฆver understรธttelse af scenarier som meddelelseskรธer, ende til ende meddelelsessikkerhed, duplekskommunikation, distribuerede transaktioner osv. Type Vรฆlg IKKE
Nรฅr du allerede har eksisterende fungerende WCF-tjenester og รธnsker at tilfรธje HTTP-understรธttelse yderligere. Type Vรฆlg IKKE
ร‰n kodebase til at understรธtte bรฅde SOAP- og RESTful-endepunkter. Type Vรฆlg IKKE
ร˜nsker at skabe en ressourceorienteret service over HTTP. Vรฆlg IKKE Type
Dit projekt er en MVC-applikation og รธnsker noget funktionalitet over HTTP. Vรฆlg IKKE Type
Du รธnsker kun at bygge en HTTP / RESTful-tjenester Vรฆlg IKKE Type

Opsummer dette indlรฆg med: