인터넷 정보 서비스에서 호스트
WCF(Windows Communication Foundation) 서비스를 호스트하는 한 가지 옵션은 IIS(인터넷 정보 서비스) 애플리케이션 내에 있습니다. 이 호스팅 모델은 ASP.NET 및 ASP.NET 웹 서비스(ASMX) 웹 서비스에서 사용되는 모델과 비슷합니다.
IIS 버전
WCF는 다음 운영 체제의 다음과 같은 IIS 버전에서 호스트될 수 있습니다.
Windows XP SP2의 IIS 5.1. 이 환경은 Windows Server 2003과 같은 서버 운영 체제에서 나중에 배포되는 IIS에서 호스트되는 애플리케이션의 설계 및 개발에 유용합니다.
Windows Server 2003의 IIS 6.0 IIS 6.0은 향상된 확장성, 안정성 및 응용 프로그램 격리 기능을 제공하는 고급 프로세스 모델을 사용합니다. 이 환경은 HTTP 통신을 단독으로 사용하는 WCF 서비스의 프로덕션 배포에 적합합니다.
Windows Vista 및 Windows Server 2008의 IIS 7.0 IIS 7.0은 IIS 6.0과 동일한 고급 프로세스 모델을 제공하지만 WAS(Windows Process Activation Service)를 사용하여 HTTP 이외의 프로토콜을 통해 활성화 및 네트워크 통신을 수행할 수 있습니다. 이 환경은 WCF에서 지원하는 네트워크 프로토콜(HTTP, net.tcp, net.pipe 및 net.msmq 포함)을 통해 통신하는 WCF 서비스 개발에 적합합니다. WAS에 대한 자세한 내용은 Windows Process Activation Service에서 호스트를 참조하세요.
Windows Server AppFabric은 IIS 7.0 및 WAS(Windows Process Activation Service)에서 작동하여 NET4 WCF 및 WF 서비스에 대한 다양한 기능이 포함된 애플리케이션 호스팅 환경을 제공합니다. 이러한 기능에는 프로세스 수명 주기 관리, 프로세스 재활용, 공유 호스팅, 빠른 오류 보호, 프로세스 분리, 요청 시 활성화, 상태 모니터링 등이 포함됩니다. 자세한 내용은 AppFabric 호스팅 기능 및 AppFabric 호스팅 개념을 참조하세요.
IIS 호스팅의 장점
WCF 서비스를 IIS에서 호스트하면 다음과 같은 여러 장점이 있습니다.
IIS에서 호스트되는 WCF 서비스는 ASP.NET 애플리케이션 및 ASMX를 비롯한 다른 유형의 IIS 애플리케이션과 같이 배포되고 관리됩니다.
IIS는 프로세스 활성화, 상태 관리 및 재활용 기능을 제공하여 호스트된 애플리케이션의 신뢰성이 향상됩니다.
ASP.NET처럼 ASP.NET에서 호스트된 WCF 서비스는 향상된 서버 밀도 및 확장성을 위해 여러 애플리케이션이 공통 작업자 프로세스에 있는 ASP.NET 공유 호스팅 모델을 활용할 수 있습니다.
IIS에서 호스트되는 WCF 서비스는 ASP.NET 2.0과 동일한 동적 컴파일 모델을 사용하여 호스트된 서비스의 개발 및 배포를 단순화합니다.
IIS에서 WCF 서비스를 호스트하는 경우 IIS 5.1 및 IIS 6.0은 HTTP 통신으로만 제한됩니다. 호스팅 환경을 선택하는 방법에 대한 자세한 내용은 호스팅 서비스를 참조하세요.
IIS에서 호스트되는 WCF 서비스 배포
IIS에서 호스트되는 WCF 서비스의 개발 및 배포는 다음과 같은 작업으로 구성됩니다.
IIS, ASP.NET, WCF 및 WCF HTTP 활성화 구성 요소가 제대로 설치되고 등록되었는지 확인합니다.
새 IIS 애플리케이션을 만들거나 기존 ASP.NET 애플리케이션을 다시 사용합니다.
WCF 서비스에 대한 .svc 파일을 만듭니다.
IIS 애플리케이션에 서비스 구현을 배포합니다.
WCF 서비스를 구성합니다.
이러한 각 작업에 대한 자세한 내용은 인터넷 정보 서비스에서 호스트되는 WCF 서비스 배포를 참조하세요.
WCF 서비스 및 ASP.NET
WCF 서비스는 ASP.NET 또는 ASP.NET 웹 애플리케이션 플랫폼에서 제공하는 기능을 최대한 활용할 수 있는 서비스의 ASP.NET 호환성 모드에서 병렬 호스트될 수 있습니다. 이러한 기능에 대한 자세한 내용은 WCF Services 및 ASP.NET을 참조하세요.