이 샘플에서는 검색, 추가, 삭제 및 대체 작업을 지원하는 고객 컬렉션을 노출하는 WCF(Windows Communication Foundation) REST 프로그래밍 모델을 사용하여 HTTP 기반 서비스를 구현하는 방법을 보여 줍니다. 이 샘플은 자체 호스팅되는 WCF HTTP 서비스(Service.cs)와 서비스를 만들고 호출하는 콘솔 응용 프로그램(program.cs)의 두 구성 요소로 구성되어 있습니다.
샘플 세부 정보
WCF 서비스는 리소스 지향/REST 방식으로 고객 컬렉션을 노출합니다. 즉, 고객 컬렉션과 이 컬렉션 내의 모든 고객마다 고유한 URI가 있어야 합니다. 이 서비스는 컬렉션 URI에서 HTTP GET을 보내 전체 컬렉션을 검색하고 컬렉션 URI에서 HTTP POST를 보내 컬렉션에 새 고객을 추가하는 작업을 지원합니다. 또한 개별 고객의 URI에서는 고객 세부 정보를 가져오기 위한 HTTP GET, 고객 세부 정보를 대체하기 위한 HTTP PUT 및 컬렉션에서 고객을 제거하기 위한 HTTP DELETE를 지원합니다. 컬렉션에 새 고객이 추가되면 서비스에서는 고객에게 고유한 URI를 할당하고 이 URI를 고객 세부 정보의 일부로 저장합니다. 또한 서비스에서는 응답의 HTTP Location 헤더를 사용하여 이 URI를 클라이언트에 전달합니다.
App.config 파일에서는 HelpEnabled 속성이 true로 설정된 기본 WebHttpEndpoint로 WCF 서비스를 구성합니다. 따라서 WCF에서는 https://localhost:8000/Customers/help
에 자동 HTML 기반 도움말 페이지를 만듭니다. 이 페이지에서는 서비스에 대한 HTTP 요청을 생성하고 서비스의 HTTP 응답에 액세스하는 방법에 대한 정보가 제공됩니다. 예를 들어 고객 세부 정보를 XML 또는 JSON으로 표현하는 방법에 대한 예제가 제공됩니다.
이러한 방식으로 고객 컬렉션(보다 일반적으로는 모든 리소스)을 노출하면 클라이언트가 URI와 HTTP GET, PUT, DELETE 및 POST를 사용하여 일관된 방식으로 고객 컬렉션과 상호 작용할 수 있습니다. Program.cs에서는 HttpWebRequest를 사용하여 이러한 클라이언트를 작성하는 방법을 보여 줍니다. 이 방법은 WCF REST 서비스에 액세스하는 여러 방법 중 하나일 뿐입니다. ChannelFactory 및 WebClient 같은 다른 .NET Framework 클래스를 사용하여 서비스에 액세스할 수도 있습니다. Basic HTTP Service 샘플 및 Automatic Format Selection 샘플과 같은 SDK의 다른 샘플에서는 이러한 클래스를 사용하여 WCF 서비스와 통신하는 방법을 보여 줍니다.
이 샘플은 콘솔 응용 프로그램 내에서 실행되는 자체 호스팅 서비스와 클라이언트로 구성되어 있습니다. 콘솔 응용 프로그램이 실행되면 클라이언트에서는 서비스로 요청을 보내고 응답의 관련 정보를 콘솔 창에 씁니다.
이 샘플을 사용하려면
Basic Resource Service 샘플의 솔루션을 엽니다. 관리자 권한으로 Visual Studio 2010을 시작해야 샘플이 제대로 실행됩니다. 이렇게 하려면 Visual Studio 2010 아이콘을 마우스 오른쪽 단추로 클릭하고 상황에 맞는 메뉴에서 관리자 권한으로 실행을 선택합니다.
F6 키를 눌러 솔루션을 빌드한 다음 Ctrl+F5를 눌러 콘솔 응용 프로그램을 실행합니다. 콘솔 창이 나타나고 실행 중인 서비스의 URI와 실행 중인 서비스에 대한 HTML 도움말 페이지의 URI가 제공됩니다. 언제든지 브라우저에서 HTML 도움말 페이지의 URI를 입력하면 해당 도움말 페이지를 볼 수 있습니다. 샘플이 실행되면 클라이언트에서는 현재 활동의 상태를 씁니다.
아무 키나 눌러 샘플을 종료합니다.
![]() |
---|
컴퓨터에 이 샘플이 이미 설치되어 있을 수도 있습니다. 계속하기 전에 다음(기본) 디렉터리를 확인하십시오.
<InstallDrive>:\WF_WCF_Samples
이 디렉터리가 없으면 Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4로 이동하여 WCF(Windows Communication Foundation) 및 WF 샘플을 모두 다운로드하십시오. 이 샘플은 다음 디렉터리에 있습니다.
<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Web\BasicResourceService
|