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