WCF
: 웹 서비스 기반의 통신 프레임워크(메시징 프레임워크)
: 피호출자(callee), 서비스(service) ↔ 호출자(caller), 클라이언트(client)
: XML기반의 SOAP(Simple Object Access Protocol), POX(Plain Old XML)나 JSON(Javascript Object Notation)과 같은 REST(Representational State Transfer)
WCF서비스
: 서비스의 종점(endpoint) - 주소(address), 바인딩(binding), 계약(contract)
: 주소 - URI
: 바인딩 - WCF서비스를 네트워크를 통해 호출할 때 고려해야 할 다양한 요소들의 집합(프로토콜, 데이터 포맷, 네트워킹 보안, 트랜잭션 처리, 비동기 전송 등)
: 계약 - WCF서비스가 제공하는 기능들에 대한 인터페이스
WCF호스트
: 호스팅환경 - 일반 닷넷 EXE 어플리케이션, IIS
: 다중 스레드 풀(multi-thread pool) 완벽하게 지원 - 개발자는 여러 클라이언트의 동시 호출(concurrent call)에 대한 고민할 필요가 없음
WCF클라이언트
: WCF클라이언트는 서비스의 계약으로부터 서비스가 어떤 메소드를 제공하는지 알고 있으며, 그 메소드의 매개변수와 반환값 등에 대한 정보를 얻을 수 있음
: WCF런타임과 유틸리티 도구(tool)는 서비스의 계약 정보로부터 서비스에 대한 프록시 클래스를 생성할 수 있으며, 이 프록시 클래스는 웹 서비스 호출을 마치 로컬 메소드 호출과도 같이 간단한 작업으로 만들어 줄 수 있음
: WCF런타임이 적절히 서비스를 찾고 XML메시지를 전송할 수 있도록 호출하고자 하는 서비스의 종점에 대한 정보를 제공해줘야 함
- 닷넷 프레임워크 버전
: 3.0버전 이상
- 어셈블리
: System.ServiceModel
WCF서비스의 계약 인터페이스
: ServiceContract특성, OperationContract특성
인터페이스를 구현하는 서비스 타입
* netsh를 이용하여 특정 사용자 계정에 대해 해당 포트를 열 수 있도록 허용하는 방법.
c:\Windows\System32>netsh http add urlacl url=http://+:80/wcf/example user=mribk
i88@outlook.com