Windows Communication Foundation과 함께 사용하도록 Windows Process Activation Service 구성
이 항목에서는 Windows Vista에서 HTTP 네트워크 프로토콜을 통해 통신하지 않는 WCF(Windows Communication Foundation) 서비스를 호스팅하도록 WAS라고도 하는 Windows Process Activation Service를 설정하는 데 필요한 단계에 대해 설명합니다. 다음 단원에서는 이 구성 단계에 대해 간략히 설명합니다.
필요한 WCF 활성화 구성 요소를 설치하거나 설치를 확인합니다.
사용할 네트워크 프로토콜 바인딩으로 WAS 사이트를 만들거나 새 프로토콜 바인딩을 기존 사이트에 추가합니다.
서비스를 호스팅할 응용 프로그램을 만들고 이 응용 프로그램에서 필요한 네트워크 프로토콜을 사용하도록 설정합니다.
HTTP가 아닌 끝점을 노출하는 WCF 서비스를 빌드합니다.
HTTP가 아닌 바인딩을 사용하여 사이트 구성
WAS에 HTTP가 아닌 바인딩을 사용하려면 사이트 바인딩을 WAS 구성에 추가해야 합니다. WAS에 대한 구성 저장소는 %windir%\system32\inetsrv\config 디렉터리에 있는 applicationHost.config 파일입니다. WAS와 IIS 7.0에서 이 구성 저장소를 공유합니다.
applicationHost.config는 메모장과 같은 표준 텍스트 편집기에서 열 수 있는 XML 텍스트 파일입니다. 그러나 주로 IIS 7.0 명령줄 구성 도구(appcmd.exe)를 사용하여 HTTP가 아닌 사이트 바인딩을 추가합니다.
다음 명령은 appcmd.exe(이 명령은 한 줄로 입력됨)를 사용하여 net.tcp 사이트 바인딩을 기본 웹 사이트에 추가합니다.
appcmd.exe set site "Default Web Site" -+bindings.[protocol='net.tcp',bindingInformation='808:*']
이 명령은 applicationHost.config 파일에 아래 표시된 줄을 추가하여 새 net.tcp 바인딩을 기본 웹 사이트에 추가합니다.
<sites>
<site name="Default Web Site" id="1">
<bindings>
<binding protocol="HTTP" bindingInformation="*:80:" />
//The following line is added by the command.
<binding protocol="net.tcp" bindingInformation="808:*" />
</bindings>
</site>
</sites>
HTTP가 아닌 프로토콜을 사용하도록 응용 프로그램 설정
응용 프로그램 수준에서 개별 네트워크 프로토콜을 사용하거나 사용하지 않도록 설정할 수 있습니다.. 다음 명령은 Default Web Site
에서 실행되는 응용 프로그램에 대한 HTTP 및 net.tcp 프로토콜을 모두 사용하도록 설정하는 방법을 보여 줍니다.
appcmd.exe set app "Default Web Site/appOne" /enabledProtocols:net.tcp
설정된 프로토콜의 목록은 ApplicationHost.config에 저장된 사이트의 XML 구성에 있는 <applicationDefaults> 요소에서도 설정할 수 있습니다.
applicationHost.config의 다음과 같은 XML 코드는 HTTP 프로토콜 및 HTTP가 아닌 프로토콜에 모두 바인딩되는 사이트를 보여 줍니다. HTTP가 아닌 프로토콜을 지원하는 데 필요한 추가 구성은 주석으로 호출됩니다.
<sites>
<site name="Default Web Site" id="1">
<application path="/">
<virtualDirectory path="/" physicalPath="D:\inetpub\wwwroot" />
</application>
<bindings>
//The following two lines are added by the command.
<binding protocol="HTTP" bindingInformation="*:80:" />
<binding protocol="net.tcp" bindingInformation="808:*" />
</bindings>
</site>
<siteDefaults>
<logFile
customLogPluginClsid="{FF160663-DE82-11CF-BC0A-00AA006111E0}"
directory="D:\inetpub\logs\LogFiles" />
<traceFailedRequestsLogging
directory="D:\inetpub\logs\FailedReqLogFiles" />
</siteDefaults>
<applicationDefaults
applicationPool="DefaultAppPool"
//The following line is inserted by the command.
enabledProtocols="http, net.tcp" />
<virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>
비 HTTP 활성화에 WAS를 사용하는 WCF 서비스 빌드
앞에서 설명한 대로 WAS를 설치 및 구성하는 단계를 수행한 후 활성화에 WAS를 사용하도록 서비스를 구성하는 것은 IIS에서 호스팅되는 서비스를 구성하는 것과 같습니다.
WAS가 활성화된 WCF 서비스 빌드에 대한 자세한 내용은 방법: WAS에서 WCF 서비스 호스팅을 참조하십시오.
참고 항목
개념
Windows Process Activation Service에서의 호스팅