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