Ero WCF:n ja Web API:n välillä
Mikä on WCF?
WCF tarkoittaa Windows Viestintä Foundation. Sitä käytetään hajautettujen ja yhteentoimivien sovellusten luomiseen. WCF on tehokas alusta palvelulähtöisten sovellusten kehittämiseen. Sen avulla kehittäjät voivat luoda turvallisia, luotettavia ja korkean profiilin kehitysratkaisuja, jotka voidaan integroida eri alustoihin ja toimia yhdessä olemassa olevien investointien kanssa.
Mikä on Web API?
ASP.NET Web API on kehys, jonka avulla voit rakentaa HTTP-palveluita selaimille ja mobiililaitteille. Se on ihanteellinen alusta kehittymiselle RESTful sovelluksia ASP .NET Frameworkissa.
ASP.NET Web API on laajennettava kehys HTTP-pohjaisten palveluiden rakentamiseen, joita voidaan käyttää eri sovelluksissa eri alustoilla, kuten web, Windows, mobiililaitteet jne.
TÄRKEÄ ERO
- WCF tarjoaa pyyntövastauksen, yksisuuntaisen tai kaksisuuntaisen, kun taas Web API on oletuksena vain pyyntö-vastaus.
- WCF:ää käytetään SOAP-pohjaisten palveluiden kehittämiseen, kun taas Web API:ta käytetään sekä SOAP-pohjaisiin että RESTful-palveluihin.
- WCF ei tarjoa tukea MVC-ominaisuuksille, kun taas Web API tukee MVC-ominaisuuksia.
- WCF tukee HTTP-, UDP- ja mukautettua siirtoprotokollaa, kun taas Web API tukee vain HTTP-protokollaa.
- WCF tarjoaa teksti-, MTOM- ja binaarikoodauksen tuen, kun taas Web API tukee UTF-8-koodausmuotoa.
- WCF tukee viestijonoja, viestisuojausta, kaksisuuntaista viestintää ja tapahtumaa, kun taas Web API ei tue.
- WCF tarkoittaa Windows Viestintä Foundation kun taas API tarkoittaa Application Program Interface.
Miksi käyttää WCF:ää?
Tässä on WCF:n käytön edut/edut:
- WCF on ihanteellinen vaihtoehto, jos aiot käyttää .NET-kehys 3.5.
- WCF tukee useita protokollia, kuten HTTP, TCP, Named pipe.
- WCF-palvelu on hyödyllinen, jos haluat rakentaa palvelun sellaisilla standardeilla kuin Transactions Messaging Security ja Reliable Message Security.
- Voit käyttää WCF:n kanssa Request-Reply-, One Way- ja Duplex-viestinvaihtokuvioita.
Miksi käytetty Web API?
Tässä on web-sovellusliittymän käytön edut/edut:
- Web API tukee käytäntöön perustuvia CRUD-toimintoja, koska se toimii HTTP-verbien kanssa (GET, PUT, POST ja DELETE)
- Se on helppo määritellä, paljastaa ja kuluttaa REST-full tavalla.
- ASP.Net Web API:n avulla voit esitellä tietojasi ja palveluitasi useille laitteille.
- Web API on avoimen lähdekoodin, joten se on ihanteellinen vaihtoehto RESTful-palveluiden luomiseen .NET-alustan yli.
- Mahdollistaa skaalautuvan, irrotetun verkkopalvelun kehittämisen, jota muut kehittäjät voivat jakaa ja käyttää verkkopalvelujen käyttämiseen.
- On myös hyödyllistä rakentaa yksinkertaisia, ei-SOAP-pohjaisia HTTP-palveluita.
WCF:n ominaisuudet
- Hyvin konfiguroitavat kuljetukset
- Parempia vaihtoehtoja sarjoitukseen
- Hyvin integroitu IIS:n kanssa
- Helppo itseisännöintiin
- Erittäin rikas metadata
- Monimutkainen malli julkaisua varten
- Rikkaat datasopimukset
Web API:n ominaisuudet
- Tiiviisti kytketty HTTP:hen
- Helppo testata
- Tarjoaa tukea sisältöneuvotteluille
- Mahdollistaa avoimen muotoilun
- Ei riippuvuutta alustasta
- Vankka resurssilähtöisyys
- Tason 2 kokemus syntymässä olevasta hypermediatuesta
WCF vs Web Service
Parametri | WCF | Web-sovellusliittymä |
---|---|---|
Viestinvaihtomalli | Pyydä vastausta, yksisuuntainen tai kaksipuolinen. | Oletuksena vain pyyntö-vastaus. Web-socket-integraatiolla voidaan kuitenkin tukea lisäviestikuvioita. |
Hotellit | IIS-isännöinti, itseisännöinti ja töiden aktivointipalvelut. | Itsepalvelu ja IIS-isännöinti. |
Open Source | Se ei ole avoimen lähdekoodin ohjelmisto. | Se toimitetaan yhdessä.Net frameworkin kanssa. Se on saatavana myös itsenäisenä latauksena. |
Tuki MVC-ominaisuuksille | WCF ei tue MVC-ominaisuuksia, kuten ohjaimia, reititystä, suodatinta, huutokaupan tuloksia jne. | ASP.NET Web API tukee MVC-ominaisuuksia, kuten reititystä, ohjaimia, tuloksia, suodatinta, toimintaa jne. |
Koodauksen tuki | Teksti, MTOM ja binaari. | Oletustuki UTF-8-koodausmuodolle. |
Tuki | Tuki HTTP:lle, UDP:lle ja mukautetulle siirtoprotokollalle. | Tukee vain HTTP-protokollaa |
Mallin käyttö | Käyttäjäkohtainen ohjelmointimalli. | Yhdistää HTTP-verbit menetelmiin |
Konfigurointi | Käyttää web.config-tiedostoa ja attribuutteja HttpConfiguration-luokan määrittämiseen, mutta ei web.config-palvelussa. | Web API voidaan määrittää web.config-palvelun avulla. |
LOPPUVAT palvelut | Se tarjoaa tukea RESTFUL-palvelulle, mutta rajoituksin. | Ihanteellinen LOPPUvien palveluiden rakentamiseen. |
Ratkaiseva tekijä WCF:n vs. Web API:ssa
Seuraavassa on nopea tarkistuslista, joka auttaa määrittämään, käytetäänkö WCF- vai Web-sovellusliittymää
skenaario | WCF 4.5 | ASP.NET Web API |
---|---|---|
Edellyttää tukea sellaisille skenaarioille kuin viestijonot, päästä päähän -viestien suojaus, kaksisuuntainen viestintä, hajautetut tapahtumat jne. | valita | ÄLÄ valitse |
Kun sinulla on jo toimivat WCF-palvelut ja haluat lisätä HTTP-tuen lisäksi. | valita | ÄLÄ valitse |
Yksi koodikanta, joka tukee sekä SOAP- että RESTful-päätepisteitä. | valita | ÄLÄ valitse |
Haluaa luoda resurssilähtöisen palvelun HTTP:n kautta. | ÄLÄ valitse | valita |
Projektisi on MVC-sovellus ja haluaa toimia HTTP:n kautta. | ÄLÄ valitse | valita |
Haluat rakentaa vain HTTP / RESTful -palvelut | ÄLÄ valitse | valita |