Interfejs API sieci Web programu WCF i platformy ASP.NET
WCF to ujednolicony model programowania firmy Microsoft służący do tworzenia aplikacji zorientowanych na usługi. Umożliwia deweloperom tworzenie bezpiecznych, niezawodnych, transakcyjnych rozwiązań, które integrują się między platformami i współdziałają z istniejącymi inwestycjami. ASP.NET internetowy interfejs API to struktura, która ułatwia tworzenie usług HTTP, które docierają do szerokiej gamy klientów, w tym przeglądarek i urządzeń przenośnych. ASP.NET internetowy interfejs API to idealna platforma do tworzenia aplikacji RESTful na platformie .NET Framework. W tym temacie przedstawiono wskazówki, które pomogą Ci zdecydować, która technologia najlepiej spełni Twoje potrzeby.
Wybieranie technologii do użycia
W poniższej tabeli opisano główne funkcje każdej technologii.
WCF | ASP.NET Web API |
---|---|
Umożliwia tworzenie usług obsługujących wiele protokołów transportowych (HTTP, TCP, UDP i niestandardowych) oraz umożliwia przełączanie się między nimi. | Tylko http. Model programowania pierwszej klasy dla protokołu HTTP. Bardziej nadaje się do uzyskiwania dostępu z różnych przeglądarek, urządzeń przenośnych itp., co zapewnia szeroki zasięg. |
Umożliwia tworzenie usług obsługujących wiele kodowań (Text, MTOM i Binary) tego samego typu komunikatu i umożliwia przełączanie się między nimi. | Umożliwia tworzenie internetowych interfejsów API obsługujących szeroką gamę typów multimediów, w tym XML, JSON itp. |
Obsługuje tworzenie usług ze standardami WS-* takimi jak Reliable Messaging, Transactions, Message Security. | Używa podstawowych protokołów i formatów, takich jak HTTP, WebSockets, SSL, JSON i XML. Nie ma obsługi protokołów wyższego poziomu, takich jak Reliable Messaging lub Transactions. |
Obsługuje wzorce wymiany komunikatów request-reply, One Way i Duplex. | Http to żądanie/odpowiedź, ale dodatkowe wzorce mogą być obsługiwane za pośrednictwem integracji usług SignalR i WebSocket. |
Usługi protokołu WCF SOAP można opisać w języku WSDL, umożliwiając automatyczne narzędzia do generowania serwerów proxy klienta nawet w przypadku usług ze złożonymi schematami. | Istnieje wiele sposobów opisywania internetowego interfejsu API, począwszy od automatycznie generowanej strony pomocy HTML opisującej fragmenty kodu HTML do metadanych strukturalnych dla zintegrowanych interfejsów API OData. |
Dostarczane z programem .NET Framework. | Dostarczany z programem .NET Framework, ale jest typu open source i jest również dostępny poza pasmem jako niezależne pobieranie. |
Użyj programu WCF, aby tworzyć niezawodne, bezpieczne usługi internetowe, które są dostępne w różnych transportach. Użyj ASP.NET internetowego interfejsu API, aby utworzyć usługi oparte na protokole HTTP, które są dostępne od wielu różnych klientów. Użyj ASP.NET internetowego interfejsu API, jeśli tworzysz i projektujesz nowe usługi w stylu REST. Mimo że usługa WCF zapewnia obsługę pisania usług w stylu REST, obsługa interfejsu API REST w ASP.NET internetowym interfejsie API jest bardziej kompletna, a wszystkie przyszłe ulepszenia funkcji REST zostaną wprowadzone w ASP.NET internetowym interfejsie API. Jeśli masz istniejącą usługę WCF i chcesz uwidocznić dodatkowe punkty końcowe REST, użyj usług WCF i WebHttpBinding.