WCF에는 여러 가지 유형의 HTTP 기반 바인딩이 있습니다.
이 3 가지 차이점은 무엇입니까?
특히 기능 / 성능 및 호환성 측면에서 차이점은 무엇입니까?
WCF에는 여러 가지 유형의 HTTP 기반 바인딩이 있습니다.
이 3 가지 차이점은 무엇입니까?
특히 기능 / 성능 및 호환성 측면에서 차이점은 무엇입니까?
답변:
사과를 오렌지와 비교하고 있습니다.
webHttpBinding 은 기본적으로 URL을 입력하고 웹 서비스에서 XML 또는 JSON의 트럭로드를 다시 가져 오는 REST 스타일 바인딩입니다.
basicHttpBinding 및 wsHttpBinding 은 두 가지 SOAP 기반 바인딩이며 REST와는 매우 다릅니다. SOAP는 WSDL과 XSD를 통해 서비스, 메소드 및 전달되는 데이터를 상세하게 설명 할 수 있다는 장점이 있습니다 (REST에는 아직 그런 것이 없습니다). 반면, 브라우저로 wsHttpBinding 엔드 포인트를 탐색하고 XML을 볼 수는 없습니다. WcfTestClient 또는 자체 앱과 같은 SOAP 클라이언트를 사용해야합니다.
따라서 첫 번째 결정은 REST vs. SOAP이어야합니다 (또는 서비스에서 두 가지 유형의 엔드 포인트를 노출 할 수도 있습니다).
그런 다음 basicHttpBinding과 wsHttpBinding의 차이점은 다음과 같습니다.
basicHttpBinding은 매우 기본적인 바인딩입니다. SOAP 1.1, 보안 측면은 많지 않지만 기능 측면은 많지 않지만 거의 모든 SOAP 클라이언트와 호환됩니다.
wsHttpBinding은 수많은 WS- * 기능 및 표준을 지원하는 완전한 바인딩입니다. 더 많은 보안 기능이 있으며, 세션 연결을 사용할 수 있으며, 안정적인 메시징을 사용하고, 트랜잭션 제어를 사용할 수 있습니다. 그러나 wsHttpBinding은 또한 훨씬 * 무겁고 "네트워크를 통해 메시지를 전달할 때 메시지에 많은 오버 헤드를 추가합니다.
두 코드 사이의 심도있는 비교 (테이블 및 코드 예제 포함)는이 코드 프로젝트 기사를 확인하십시오 : BasicHttpBinding과 WsHttpBinding의 차이점