Forskjellen mellom WCF og Web API
Hva er WCF?
WCF stรฅr for Windows Kommunikasjon Foundation. Den brukes til รฅ lage distribuerte og interoperable applikasjoner. WCF er en effektiv plattform for รฅ utvikle tjenesteorienterte applikasjoner. Det lar utviklere lage sikre, pรฅlitelige og hรธyprofilerte utviklingslรธsninger som kan integreres pรฅ tvers av plattformer og samvirke med eksisterende investeringer.
Hva er Web API?
ASP.NET Web API er et rammeverk som lar deg bygge HTTP-tjenester for nettlesere og mobile enheter. Det er en ideell plattform for utvikling RESTful applikasjoner pรฅ ASP .NET Framework.
ASP.NET Web API er et utvidbart rammeverk for รฅ bygge HTTP-baserte tjenester som kan nรฅs i forskjellige applikasjoner pรฅ forskjellige plattformer som web, windows, mobile enheter, etc.
NรKKELFORSKJELL
- WCF tilbyr forespรธrsel-svar, enveis eller dupleks mens Web API som standard kun er forespรธrsel-svar.
- WCF brukes til รฅ utvikle SOAP-baserte tjenester, mens Web API brukes for bรฅde SOAP-baserte og RESTful-tjenester.
- WCF tilbyr ingen stรธtte for MVC-funksjoner, mens Web API stรธtter MVC-funksjoner.
- WCF stรธtter HTTP, UDP og tilpasset transportprotokoll, mens Web API kun stรธtter HTTP-protokoll.
- WCF tilbyr stรธtte for tekst, MTOM og binรฆr koding, mens Web API stรธtter UTF-8-kodingsformatet.
- WCF stรธtter meldingskรธer, meldingssikkerhet, duplekskommunikasjon, transaksjon mens Web API ikke stรธtter.
- WCF stรฅr for Windows Kommunikasjon Foundation mens API stรฅr for Application Program Interface.
Hvorfor bruke WCF?

Her er fordeler/fordeler med รฅ bruke WCF:
- WCF er et ideelt alternativ hvis du planlegger รฅ bruke .NET Framework 3.5.
- WCF stรธtter flere protokoller som HTTP, TCP, Named pipe.
- WCF-tjenesten er nyttig hvis du vil bygge tjenester med standarder som Transactions Messaging-sikkerhet og Reliable Message Security.
- Du kan bruke Request-Reply, One Way og Duplex meldingsutvekslingsmรธnstre med WCF.
Hvorfor brukte Web API?
Her er fordeler/fordeler med รฅ bruke web-API:
- Web API gir stรธtte for konvensjonsbaserte CRUD-handlinger siden det fungerer med HTTP-verb (GET, PUT, POST og DELETE)
- Det er enkelt รฅ definere, eksponere og konsumere pรฅ en REST-full mรฅte.
- ASP.Net Web API lar deg vise frem dine data og tjenester til ulike enheter.
- Web API er รฅpen kildekode, sรฅ det er et ideelt alternativ for รฅ lage RESTful-tjenester over .NET-plattformen.
- Lar deg skalerbar, frakoblet utvikling av en webtjeneste som kan deles og brukes av andre utviklere for รฅ fรฅ tilgang til webtjenester.
- Det er ogsรฅ nyttig รฅ bygge enkle, ikke-SOAP-baserte HTTP-tjenester.
Kjennetegn pรฅ WCF
- Svรฆrt konfigurerbare transporter
- Bedre alternativer for serialisering
- Godt integrert med IIS
- Enkelt for selvhosting
- Veldig rik metadata
- Kompleks modell for publisering
- Rike datakontrakter
Kjennetegn ved Web API
- Tett koblet til HTTP
- Lett รฅ teste
- Tilbyr stรธtte for innholdsforhandling
- Tillater รฅpen formatering
- Ingen avhengighet av en plattform
- Solid ressursorientering
- Nivรฅ 2 erfaring med gryende hypermediastรธtte
WCF vs webtjeneste
| Parameter | WCF | Web-API |
|---|---|---|
| Meldingsutvekslingsmรธnster | Be om svar, enveis eller tosidig. | Som standard bare forespรธrsel-svar. Imidlertid kan ytterligere meldingsmรธnster stรธttes med web-sockets-integrasjon. |
| Hosting | IIS hosting, Self-hosting & Works aktiveringstjenester. | Selvhosting og IIS-hosting. |
| Open Source | Det er ikke รฅpen kildekode-programvare. | Den leveres med.Net framework. Den er ogsรฅ tilgjengelig som en uavhengig nedlasting. |
| Stรธtte for MVC-funksjoner | WCF gir ingen stรธtte for MVC-funksjoner som kontrollere, ruting, filter, auksjonsresultater, etc. | ASP.NET Web API stรธtter MVC-funksjoner som ruting, kontrollere, resultater, filter, handling, etc. |
| Stรธtte for koding | Tekst, MTOM og binรฆr. | Standard stรธtte for UTF-8-kodingsformat. |
| Stรธtte for | Stรธtte for HTTP, UDP og tilpasset transportprotokoll. | Stรธtter kun HTTP-protokoll |
| Bruk av modell | Brukertilskrevet basert programmeringsmodell. | Kartlegger HTTP-verb til metoder |
| Konfigurasjon | Bruker web.config og attributter for รฅ konfigurere en HttpConfiguration-klasse, men ikke pรฅ web.config-tjenesten. | Web API kan konfigureres ved hjelp av web.config-tjenesten. |
| RESTful tjenester | Den tilbyr stรธtte for RESTFUL-tjeneste, men med begrensninger. | Ideell for รฅ bygge AVSLUTTENDE tjenester. |
Den avgjรธrende faktoren for WCF vs. Web API
Fรธlgende er en rask sjekkliste for รฅ finne ut om du skal bruke WCF eller Web API
| Scenario | WCF 4.5 | ASP.NET Web API |
|---|---|---|
| Krever stรธtte for scenarier som meldingskรธer, ende til ende meldingssikkerhet, duplekskommunikasjon, distribuerte transaksjoner, etc. | Velg | IKKE velg |
| Nรฅr du allerede har eksisterende fungerende WCF-tjenester og รธnsker รฅ legge til HTTP-stรธtte i tillegg. | Velg | IKKE velg |
| รn kodebase for รฅ gi stรธtte bรฅde SOAP og RESTful endepunkter. | Velg | IKKE velg |
| รnsker รฅ lage en ressursorientert tjeneste over HTTP. | IKKE velg | Velg |
| Prosjektet ditt er en MVC-applikasjon og รธnsker litt funksjonalitet over HTTP. | IKKE velg | Velg |
| Du vil bare bygge en HTTP / RESTful-tjenester | IKKE velg | Velg |

