다음을 통해 공유


WCF 및 ASP.NET Web API

WCF는 서비스 지향 애플리케이션을 빌드하기 위한 Microsoft의 통합 프로그래밍 모델입니다. 이를 통해 개발자는 플랫폼 간에 통합되고 기존 투자와 상호 운용되는 안전하고 신뢰할 수 있는 거래 솔루션을 빌드할 수 있습니다. ASP.NET Web API 는 브라우저 및 모바일 디바이스를 포함하여 광범위한 클라이언트에 도달하는 HTTP 서비스를 쉽게 빌드할 수 있는 프레임워크입니다. ASP.NET Web API는 .NET Framework에서 RESTful 애플리케이션을 빌드하기 위한 이상적인 플랫폼입니다. 이 항목에서는 요구 사항에 가장 적합한 기술을 결정하는 데 도움이 되는 몇 가지 지침을 제공합니다.

사용할 기술 선택

다음 표에서는 각 기술의 주요 기능을 설명합니다.

WCF (Windows Communication Foundation) ASP.NET Web API
여러 전송 프로토콜(HTTP, TCP, UDP 및 사용자 지정 전송)을 지원하고 이러한 프로토콜 간 전환을 허용하는 서비스를 빌드할 수 있습니다. HTTP 전용입니다. HTTP에 대한 일류 프로그래밍 모델입니다. 다양한 브라우저, 모바일 디바이스 등의 액세스에 더 적합하여 광범위한 범위를 사용할 수 있습니다.
동일한 메시지 형식의 여러 인코딩(텍스트, MTOM 및 이진)을 지원하고 둘 사이를 전환할 수 있는 서비스를 빌드할 수 있습니다. XML, JSON 등 다양한 미디어 형식을 지원하는 Web API를 빌드할 수 있습니다.
신뢰할 수 있는 메시징, 트랜잭션, 메시지 보안과 같은 WS-* 표준으로 서비스 빌드를 지원합니다. HTTP, WebSockets, SSL, JSON 및 XML과 같은 기본 프로토콜 및 형식을 사용합니다. 신뢰할 수 있는 메시징 또는 트랜잭션과 같은 상위 수준 프로토콜은 지원되지 않습니다.
요청-회신, 단방향 및 이중 메시지 교환 패턴을 지원합니다. HTTP는 요청/응답이지만 SignalR 및 WebSockets 통합을 통해 추가 패턴을 지원합니다.
WCF SOAP 서비스는 자동화된 도구가 복잡한 스키마가 있는 서비스에 대해서도 클라이언트 프록시를 생성할 수 있도록 WSDL에서 설명할 수 있습니다. 코드 조각을 설명하는 자동 생성된 HTML 도움말 페이지에서 OData 통합 API에 대한 구조적 메타데이터에 이르기까지 다양한 방법으로 Web API를 설명할 수 있습니다.
.NET Framework와 함께 제공됩니다. .NET Framework와 함께 제공되지만 오픈 소스이며 독립 다운로드로 대역 외에서도 사용할 수 있습니다.

WCF를 사용하여 다양한 전송을 통해 액세스할 수 있는 안정적이고 안전한 웹 서비스를 만듭니다. ASP.NET Web API를 사용하여 다양한 클라이언트에서 액세스할 수 있는 HTTP 기반 서비스를 만듭니다. 새 REST 스타일 서비스를 만들고 디자인하는 경우 ASP.NET Web API를 사용합니다. WCF는 REST 스타일 서비스 작성을 일부 지원하지만 ASP.NET Web API의 REST에 대한 지원은 더 완전하며 향후의 모든 REST 기능 개선은 ASP.NET Web API에서 수행될 예정입니다. 기존 WCF 서비스가 있고 추가 REST 엔드포인트를 노출하려는 경우 WCF 및 WebHttpBinding를 사용합니다.

참고하십시오