Różnica między WCF, Web API, WCF REST i Web Service?

Jaka jest różnica pomiędzy WCF i Web API a WCF REST I Web Service? Czy WCF naprawdę jest tak skomplikowany, że webapi powinno być używane? Czy WebApi może wykonać całą pracę i nie wykorzystać innych?

Author: Aiyoub Amini, 2017-05-04

2 answers

. Net framework ma wiele technologii, które pozwalają na tworzenie usług HTTP, takich jak Web Service, WCF i teraz Web API. Istnieje wiele artykułów w internecie, które mogą opisywać, do kogo należy użyć.

Serwis Internetowy

  • opiera się na SOAP i zwraca dane w postaci XML.
  • obsługuje tylko protokół HTTP.
  • nie jest open source, ale może być używany przez każdego klienta, który rozumie xml.
  • może być hostowany tylko na IIS.

WCF

  • jest również oparty na SOAP i zwraca dane w postaci XML.
  • Jest to ewolucja usługi internetowej (ASMX) i obsługuje różne protokoły, takie jak TCP, HTTP, HTTPS, Named Pipes, MSMQ. Głównym problemem WCF jest jego żmudna i rozbudowana konfiguracja.
  • nie jest open source, ale może być używany przez każdego klienta, który rozumie xml.
  • może być hostowany w aplikacji lub na IIS lub za pomocą usługi window.

WCF Rest

  • aby używać WCF jako usługi WCF Rest musisz włączyć webHttpBindings.
  • obsługuje HTTP GET I post verbs odpowiednio przez atrybuty [WebGet] i [WebInvoke].
  • aby włączyć inne czasowniki HTTP, musisz wykonać pewną konfigurację w IIS, aby zaakceptować żądanie danego czasownika on .pliki svc
  • Przekazywanie danych przez parametry za pomocą Webgetu wymaga konfiguracji. Należy podać UriTemplate.
  • obsługa informatyczna Format danych XML, JSON i ATOM.

Web API

  • jest to nowy framework do budowania usług HTTP w łatwy i prosty sposób.
  • Web API jest open source idealną platformą do budowania usług REST-ful poprzez. NET Framework.
  • W przeciwieństwie do WCF REST service, korzysta z pełnej funkcjonalności HTTP (jak Uri, nagłówki żądań/odpowiedzi, buforowanie, wersjonowanie, różne formaty treści)
  • obsługuje również funkcje MVC, takie jak routing, Kontrolery, akcja wyniki, filtr, segregatory modelowe, kontener IOC lub wtrysk zależności, testowanie jednostkowe, które sprawia, że jest prostsze i bardziej wytrzymałe.
  • może być hostowany w aplikacji lub na IIS.
  • Jest to lekka architektura i dobra dla urządzeń o ograniczonej przepustowości, takich jak smartfony.
  • Odpowiedzi są formatowane przez MediaTypeFormatter Web API w JSON, XML lub jakikolwiek format chcesz dodać jako MediaTypeFormatter.

Do kogo wybrać WCF lub WEB API

  • Wybierz WCF, gdy chcesz utworzyć usługę, która powinna obsługiwać specjalne scenariusze, takie jak wiadomości jednokierunkowe, kolejki wiadomości, komunikacja dupleks itp.
  • Wybierz WCF, gdy chcesz utworzyć usługę, która może używać szybkich kanałów transportowych, gdy są dostępne, takich jak TCP, Named Pipes, a może nawet UDP( w WCF 4.5), a także chcesz obsługiwać HTTP, gdy wszystkie inne kanały transportowe są niedostępne.
  • Wybierz Web API, gdy chcesz utworzyć usługi zorientowane na zasoby przez HTTP, które mogą korzystać z pełnych funkcji HTTP (takich jak Uri, nagłówki żądań/odpowiedzi, buforowanie, wersjonowanie, różne formaty treści).
  • Wybierz Web API, gdy chcesz udostępnić swoją usługę szerokiemu gronu klientów, w tym przeglądarkom, telefonom komórkowym, iphone ' owi i tabletom.

Numer referencyjny: http://www.dotnettricks.com
Autor: Shailendra Chauhan

 56
Author: Aiyoub Amini,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-13 05:17:11

. Net framework ma wiele technologii, które pozwalają na tworzenie usług HTTP, takich jak Web Service, WCF i teraz Web API. Istnieje wiele artykułów w internecie, które mogą opisywać, do kogo należy użyć. Teraz dni, masz wiele możliwości budowania usług HTTP na. Net framework. tutaj możesz przeczytać więcej:

WCF vs ASP.NET Web API

WCF Service vs ASP.NET Web Api

 0
Author: David,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:10:10