대부분의 WCF(Windows Communication Foundation) 샘플은 IIS(인터넷 정보 서비스)에서 호스트되며 일반적인 가상 디렉터리에서 실행됩니다. 이 일회성 설정 절차는 디스크에 폴더를 만듭니다. 또한 ServiceModelSamples라는 IIS에 가상 디렉터리를 추가합니다.
ServiceModelSamples 가상 디렉터리에서는 IIS 호스팅 서비스를 사용하는 모든 샘플을 빌드하고 실행하는 데 사용됩니다. 샘플을 실행하는 데 필요한 유일한 가상 디렉터리입니다. 샘플을 빌드하면 이 가상 디렉터리에서 이전에 배포된 모든 서비스가 대체됩니다. 가장 최근에 빌드된 샘플만 배포되고 이 가상 디렉터리에서 사용할 수 있습니다.
비고
- 로컬 관리자 계정으로 모든 명령을 실행해야 합니다. Windows 7, Windows Vista 또는 Windows Server 2008 R2를 사용하는 경우 관리자 권한으로 명령 프롬프트도 실행해야 합니다. 이렇게 하려면 명령 프롬프트 아이콘을 마우스 오른쪽 단추로 클릭한 다음 관리자 권한으로 실행을 클릭합니다.
- 이 문서의 모든 명령은 적절한 경로 설정이 있는 명령 프롬프트에서 실행해야 합니다. 이를 확인하는 가장 쉬운 방법은 Visual Studio용 개발자 명령 프롬프트를 사용하는 것입니다.
WCF 샘플에 대한 일회성 설정 절차
ASP.NET 설정되어 있는지 확인합니다. ASP.NET 설정하는 방법에 대한 자세한 내용은 인터넷 정보 서비스 호스팅 지침을 참조하세요.
.NET Framework 4+가 설치되어 있는지 확인합니다. 다음 디렉터리에서 v4.0 이상 검색: \Windows\Microsoft.NET\Framework
Visual Studio 2012 이상이 설치되어 있거나 운영 체제가 Windows Server 2008 SP2 이상인지 확인합니다.
다음 명령을 실행합니다. 이러한 명령을 실행해야 하는 이유에 대한 자세한 내용은 IIS 호스티드 서비스 실패를 참조하세요.
경고
IIS가 다시 설치되면 다음 명령을 다시 실행해야 합니다.
"%WINDIR%\Microsoft.Net\Framework\v4.0.30319\aspnet_regiis" –i –enable "%WINDIR%\Microsoft.Net\Framework\v4.0.30319\ServiceModelReg.exe" -r
경고
명령을
aspnet_regiis –i –enable
실행하면 .NET Framework 4를 사용하여 기본 앱 풀을 실행하게 되므로 동일한 컴퓨터의 다른 애플리케이션에 대한 비호환성 문제가 발생할 수 있습니다.샘플에서 사용하는 포트를 사용하도록 설정하기 위한 방화벽 지침을 따릅니다.
Setupvroot.bat 일괄 처리 파일을 실행합니다. 다음 단계를 수행합니다.
ServiceModelSamples라는 IIS에서 가상 디렉터리가 만들어집니다.
새로 생성된 디스크 디렉터리의 이름은 %SystemDrive%\Inetpub\wwwroot\ServiceModelSamples 및 %SystemDrive%\Inetpub\wwwroot\ServiceModelSamples\bin입니다.
이러한 디렉터리를 수동으로 설정하려면 가상 디렉터리 설치 지침을 참조하세요. 이 단계에서 수행된 모든 변경 내용을 되돌리려면 샘플 사용을 마친 후 cleanupvroot.bat 실행합니다.
비고
이 프로시저는 cleanupvroot.bat실행하지 않는 한 컴퓨터에서 한 번만 수행해야 합니다.
샘플 및 네트워크 서비스 사용자를 빌드하는 계정에 %SystemDrive%\inetpub\wwwroot에 대한 수정 권한을 부여해야 합니다. 빌드하는 동안 일부 웹 호스팅 샘플은 이전에 언급한 위치에 컴파일된 이진 파일을 복사하려고 시도할 수 있으며 적절한 권한을 설정하지 않은 경우 빌드가 중단됩니다. 또는 사용 권한을 그대로 두고 SDK 명령 프롬프트 또는 Visual Studio 명령 프롬프트(2012)를 관리자로 실행하거나 Visual Studio 2012에서 샘플을 빌드하거나 관리자 권한으로 실행할 수 있습니다.
비고
이 단계가 완료되지 않으면 빌드하는 동안 모든 IIS 호스팅 샘플이 실패합니다. 사용 권한을 올바르게 설정했는지 확인하거나 SDK 명령 프롬프트와 Visual Studio 명령 프롬프트를 모두 관리자 권한으로 실행합니다.
컴퓨터에 C:\logs 디렉터리를 만드십시오. 일부 샘플이 이를 필요로 할 수 있습니다. 해당 계정에 이 폴더에 대한 쓰기 권한이 부여되었는지 확인합니다. Windows 7, Windows Vista 및 Windows Server 2008 R2의 경우 이 계정은 네트워크 서비스입니다. Windows Server 2008의 경우 계정은 NT Authority\Network Service입니다. Windows XP 및 Windows Server 2003의 경우 계정은 ASPNET입니다.
Setupcerttool.bat 파일을 실행합니다. 이 스크립트는 다음 작업을 수행합니다.
FindPrivateKey 도구를 빌드합니다.
%ProgramFiles%\ServiceModelSampleTools라는 디렉터리를 만듭니다.
새 FindPrivateKey 도구를 이 디렉터리에 복사합니다.
이 도구는 인증서를 사용하고 IIS에서 호스트되는 샘플에 필요합니다.
비고
보안을 위해 샘플을 완료한 후 cleanupvroot.bat 이라는 일괄 처리 파일을 실행하여 위의 설정 단계에서 부여된 가상 디렉터리 정의 및 권한을 제거해야 합니다.
자체 호스팅되는 샘플(IIS에서 호스팅되지 않음)에는 수신 대기를 위해 컴퓨터에 HTTP 주소를 등록할 수 있는 권한이 필요합니다. HTTP 네임스페이스 예약에 대한 권한은 샘플을 실행하는 데 사용되는 사용자 계정에서 가져옵니다. 기본적으로 관리자 계정에는 HTTP 주소를 등록할 수 있는 권한이 있습니다. 관리자가 아닌 계정에는 샘플에서 사용하는 HTTP 네임스페이스에 대한 권한이 부여되어야 합니다. 네임스페이스 예약을 구성하는 방법에 대한 자세한 내용은 HTTP 및 HTTPS 구성을 참조하세요.
일부 샘플에는 메시지 큐가 필요합니다. 설치 지침은 MSMQ(메시지 큐) 설치를 참조하세요.
비고
메시지 큐가 필요한 샘플을 실행하기 전에 MSMQ 서비스를 시작해야 합니다.
일부 샘플에는 인증서가 필요합니다. IIS(인터넷 정보 서비스) 서버 인증서 설치 지침을 참조하세요.