관리되는 애플리케이션에서의 호스팅
WCF(Windows Communication Foundation) 서비스는 모든 .NET Framework 애플리케이션에서 호스팅할 수 있습니다. 자체 호스팅 서비스는 배포하는 데 최소한의 인프라를 필요로 하기 때문에 가장 유연한 호스팅 옵션입니다. 그러나 관리되는 애플리케이션이 IIS(인터넷 정보 서비스) 및 Windows 서비스와 같은 WCF의 다른 호스팅 옵션에 대한 고급 호스팅 및 관리 기능을 제공하지 않기 때문에 가장 약한 호스팅 옵션이기도 합니다.
자체 호스팅 서비스를 만들려면 ServiceHost의 인스턴스를 만들고 열어, 여기서 서비스의 메시지 수신 대기를 시작합니다. 자세한 내용은 방법: 관리형 애플리케이션에서 WCF 서비스 호스팅을 참조하세요.
계약을 정의하고, 계약을 구현하고, 관리되는 애플리케이션 내에서 서비스를 호스팅하는 방법에 대한 전체 예제는 자습서 시작 및 자체 호스트를 참조하세요.
다음 단원에서는 이 호스팅 옵션을 사용하는 일반적인 시나리오에 대해 설명합니다.
콘솔 애플리케이션
자체 호스팅을 사용하는 일반적인 시나리오는 콘솔 애플리케이션 내에서 실행되는 WCF 서비스입니다. 일반적으로 콘솔 애플리케이션 내에서 WCF 서비스를 호스팅하면 서비스의 개발 단계에서 유용합니다. 이 경우 쉽게 디버깅을 수행할 수 있으며, 애플리케이션 내에서 발생하는 상황을 확인하기 위한 추적 정보를 손쉽게 얻을 수 있으며, 새 위치에 서비스를 복사하여 이동하기 용이합니다.
리치 클라이언트 애플리케이션
자체 호스팅을 사용하는 다른 일반적인 시나리오는 WPF(Windows Presentation Foundation) 또는 WinForms(Windows Forms)에 기반한 애플리케이션과 같은 리치 클라이언트 애플리케이션입니다. 이 호스팅 옵션을 사용하면 리치 클라이언트 애플리케이션(예: WPF 및 WinForms 애플리케이션)에서 외부와 쉽게 통신할 수 있습니다. 예를 들면 사용자 인터페이스에 대해 WPF를 사용하고 또한 WCF 서비스를 호스팅하여 다른 클라이언트에서 해당 서비스에 연결하여 정보를 공유할 수 있도록 하는 피어 투 피어 협업 클라이언트가 있습니다.