주요 차이점 : 웹 서비스는 인터넷을 통해 사용할 수있는 소프트웨어 구성 요소 시스템으로 설명 될 수 있습니다. 이것은 데이터 교환에 사용되는 프로토콜과 표준으로 구성됩니다. 따라서 네트워크를 통해 컴퓨터간에 상호 운용 가능한 데이터 교환을 지원합니다. WCF는 Windows Communication Foundation의 약자입니다. 이는 서비스 지향 응용 프로그램을 작성하기위한 프레임 워크로 설명 될 수 있습니다. 서비스에 대한 런타임 환경을 제공합니다. WCF의 "웹 서비스"는 웹 서비스와 비교할 때 훨씬 더 광범위한 스펙트럼의 일부입니다.
- 서비스 지향 - 서비스 지향 응용 프로그램을 만드는 데 중점을 둡니다.
- 상호 운용성 - 웹 서비스 상호 운용성을 위해 최신 업계 표준이 구현됩니다.
- 다양한 메시지 패턴 - 메시지를 교환하기 위해 다양한 패턴을 사용할 수 있습니다.
- 서비스 메타 데이터 - 게시 서비스 메타 데이터를 지원하기 위해 WSDL 및 XML 스키마와 같은 형식이 사용됩니다.
- 보안 - 암호화 및 인증과 같은 보안 기능을 사용할 수 있습니다.
- 내구성있는 메시지 - 내구성있는 패턴의 메시지는 항상 데이터베이스에 저장됩니다.
- AJAX 및 REST 지원
- 확장 성 - 바인딩 확장, 채널 계층, serviceHost 등과 같은 다양한 영역에서 확장 성을 제공합니다.
웹 서비스와 WCF 서비스를 비교하기 위해 ASP.net의 웹 서비스와 WCF 서비스의 차이점을 파악할 수 있습니다.
ASP.net에서 웹 서비스와 WCF의 비교 :
웹 서비스 | WCF | |
정의 | 웹 서비스는 인터넷을 통해 사용할 수있는 소프트웨어 구성 요소 시스템으로 설명 될 수 있습니다. 이것은 데이터 교환에 사용되는 프로토콜과 표준으로 구성됩니다. 따라서 네트워크를 통해 컴퓨터간에 상호 운용 가능한 데이터 교환을 지원합니다. | WCF는 Windows Communication Foundation의 약자입니다. 이는 서비스 지향 응용 프로그램을 작성하기위한 프레임 워크로 설명 될 수 있습니다. 서비스에 대한 런타임 환경을 제공합니다. |
접근성 | 엄격한 - 웹 서비스는 HTTP를 통해서만 액세스 할 수 있습니다. | 융통성 있는 |
파일 형식 / 확장자 | .asmx 파일 확장명으로 | .svc 파일 확장명으로 |
직렬화 | 직렬화에 System.Xml.serialization 이름 공간이 사용됩니다. | serialization에 System.Runtime.Serialization 네임 스페이스가 사용됩니다. |
처리되지 않은 예외 | SOAP 오류로 클라이언트에 반환 됨 | SOAP 오류로 클라이언트에 반환되지 않음 |
클라이언트 개발 | WSDL.EXE 명령 줄 도구를 사용하여 완료 | ServiceMetadatatool을 사용하여 완료 |
부호화 | XML1.0, MTOM (메시지 전송 최적화 메커니즘), DIME (직접 인터넷 메시지 캡슐화) | XML1.0, MTOM, Binary |
서비스 개발 | WebService 속성을 클래스에 추가하고 WebMethodAttribute를 서비스 작업이 될 해당 클래스의 메소드에 추가해야합니다. | 끝점을 정의해야합니다 (하나 이상). |
메시지 표현 | SOAP 메시지의 헤더를 사용자 정의 할 수 있습니다. | Attributes, MessageContractAttribute, MessageHeaderAttribute 및 MessageBodyMemberAttribute는 SOAP 메시지의 구조를 설명하기 위해 제공됩니다. |