다음을 통해 공유


Windows Communication Foundation 예제 빌드하기

WCF(Windows Communication Foundation) 샘플은 Visual Studio IDE 또는 명령줄의 msbuild 명령을 사용하여 빌드할 수 있습니다. 두 절차 다 이 문서에 설명되어 있습니다.

비고

WCF 샘플을 빌드하거나 실행하기 전에 Windows Communication Foundation 샘플에 대한One-Time 설치 프로시저를 수행했는지 확인합니다.

명령 프롬프트를 사용하여 샘플을 빌드하려면

  1. Visual Studio용 개발자 명령 프롬프트를 열고 샘플을 설치한 디렉터리 위치 아래의 언어별 하위 디렉터리로 이동합니다.

  2. 명령줄에서 msbuild를 입력합니다. 클라이언트 프로그램 파일은 client\bin 에 빌드되고 서비스 프로그램 파일은 service\bin에 빌드됩니다. 서비스가 IIS(인터넷 정보 서비스)에서 호스팅되는 경우 서비스 프로그램 파일도 servicemodelsamples 디렉터리 및 해당 \bin 하위 디렉터리에 복사됩니다.

비고

실행 중인 계정에 수정 권한을 부여하려면 %systemdrive%\inetpub\wwwroot 에서 ACL을 설정해야 합니다. 그렇지 않으면 일부 빌드 후 이벤트가 실패합니다. 또는 ACL을 그대로 두고 SDK 명령 프롬프트를 관리자 권한으로 실행할 수 있습니다.

Visual Studio를 사용하여 샘플을 빌드하려면

  1. Visual Studio의 파일 메뉴에서프로젝트/솔루션>를 선택합니다. 샘플을 설치한 디렉터리 아래의 언어별 하위 디렉터리로 이동하고 .sln 파일 아이콘을 두 번 클릭하여 Visual Studio에서 솔루션을 엽니다.

  2. 빌드 메뉴에서 솔루션 재구성을 선택합니다.

    클라이언트 프로그램 파일은 client\bin에 빌드되고 서비스 프로그램 파일은 service\bin에 빌드됩니다. 서비스가 IIS에서 호스트되는 경우 서비스 프로그램 파일도 servicemodelsamples 디렉터리 및 해당 \bin 하위 디렉터리에 복사됩니다.

비고

실행 중인 계정에 수정 권한을 부여하려면 %systemdrive%\inetpub\wwwroot에서 ACL을 설정해야 합니다. 그렇지 않으면 일부 빌드 후 이벤트가 실패합니다. 또는 ACL을 그대로 두고 SDK 명령 프롬프트 또는 Visual Studio를 관리자 권한으로 실행할 수 있습니다. 일부 Visual Studio 작업(예: ASP.NET 작업자 프로세스에 디버거 연결)에도 관리 권한이 필요합니다.

Batch 파일 및 스크립트 설정

Setup.exe 및 Cleanup.exe 배치 파일 및 스크립트는 Visual Studio용 개발자 명령 프롬프트에서 실행해야 합니다. 여러 파일 설정 및 정리는 관리 권한이 필요하고 관리자 권한으로 시작해야 하는 작업을 수행합니다.

메타데이터 엔드포인트에 대한 중요한 보안 정보

잠재적으로 중요한 서비스 메타데이터의 의도하지 않은 공개를 방지하기 위해 WCF(Windows Communication Foundation) 서비스의 기본 구성은 메타데이터 게시를 사용하지 않도록 설정합니다. 이 동작은 기본적으로 안전하지만 서비스의 메타데이터 게시 동작을 구성에서 명시적으로 사용하도록 설정하지 않는 한 메타데이터 가져오기 도구(예: Svcutil.exe)를 사용하여 서비스를 호출하는 데 필요한 클라이언트 코드를 생성할 수 없음을 의미합니다. 샘플을 더 쉽게 실험할 수 있도록 거의 모든 샘플은 보안되지 않은 메타데이터 게시 엔드포인트를 노출합니다. 이러한 엔드포인트는 익명의 인증되지 않은 소비자가 사용할 수 있으며, 서비스의 메타데이터를 공개적으로 공개하는 것이 적절한지 확인하기 위해 이러한 엔드포인트를 배포하기 전에 주의해야 합니다. 서비스 메타데이터 게시에 대한 자세한 내용은 메타데이터 게시 동작 샘플을 참조하세요. 사용자 지정 보안 메타데이터 엔드포인트 샘플에서 메타데이터 엔드포인트를 보호하는 예제를 참조하세요.

예외 처리

일반적으로 이러한 샘플에는 샘플의 주제에 초점을 맞춘 코드를 유지하기 위한 예외 처리가 포함되지 않습니다. 예외 처리에 대한 자세한 내용은 예상 예외 샘플을 참조하세요.

Svcutil을 사용하여 클라이언트 및 구성 다시 생성

ServiceModel 메타데이터 유틸리티 도구(Svcutil.exe)를 사용하여 대부분의 샘플에 대한 클라이언트 코드 및 구성을 다시 생성할 수 있습니다. 일부 샘플에는 수동으로 편집된 구성이 필요합니다. 예를 들어 Svcutil.exe 사용하여 클라이언트 인증서 자격 증명을 사용하는 샘플의 구성을 다시 생성하는 경우 이전에 구성한 자격 증명을 수동으로 지정해야 합니다. 일부 샘플은 특정 Svcutil.exe 옵션을 사용하여 생성된 코드에 영향을 줍니다. 이러한 옵션은 특정 샘플 항목에 지정됩니다.

클라이언트 및 구성 파일을 다시 생성하려면

  1. SDK 명령 프롬프트를 열고 샘플을 설치한 디렉터리 위치 아래의 언어별 하위 디렉터리로 이동합니다.

  2. 서비스가 웹 호스팅 형식인 경우 다음 명령을 사용합니다.

    svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost/servicemodelsamples/service.svc/mex /out:generatedClient.cs
    

    서비스가 자체 호스팅된 경우 다음 명령을 입력합니다.

    svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost:8000/servicemodelsamples/service.svc/mex /out:generatedClient.cs
    

    자체 호스팅 서비스의 Mex 엔드포인트 주소로 http://localhost:8000/ServiceModelSamples/service.svc/mex를 바꿉니다.

    Visual Basic 형식으로 클라이언트를 생성하려면 다음 명령을 사용합니다.

    svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vb
    

    서비스가 자체 호스팅 형식인 경우 다음 명령을 사용합니다.

    svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost:8000/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vb
    

    비고

    클라이언트 구성 생성을 건너뛰려면 /noConfig 옵션을 추가합니다.

참고하십시오