다음을 통해 공유


기본 HTTP 서비스

BasicHttpService 샘플에서는 WCF(Windows Communication Foundation) REST 프로그래밍 모델을 사용하여 일반적으로 "POX"(Plain Old XML) 서비스라고 하는 HTTP 및 RPC 기반 서비스를 구현하는 방법을 보여 줍니다. 이 샘플은 자체 호스팅되는 WCF HTTP 서비스(Service.cs)와 서비스를 만들고 호출하는 콘솔 애플리케이션(Program.cs)의 두 구성 요소로 구성되어 있습니다.

샘플 세부 정보

WCF 서비스에서는 EchoWithGetEchoWithPost라는 두 작업을 노출하며 두 번째 작업은 입력으로 전달된 문자열을 반환합니다.

EchoWithGet 작업에는 WebGetAttribute를 주석을 달아 해당 작업이 HTTP GET 요청을 처리함을 나타냅니다. WebGetAttributeUriTemplate을 명시적으로 지정하지 않으므로 이 작업을 위해서는 이름이 s인 쿼리 문자열 매개 변수를 사용하여 입력 문자열을 전달해야 합니다. 서비스에 필요한 URI 형식은 UriTemplate 속성을 사용하여 사용자 지정할 수 있습니다.

WebInvokeAttribute로 주석을 달린 EchoWithPost 작업은 GET 작업이 아니며 의도하지 않은 결과가 발생함을 나타냅니다. WebInvokeAttributeMethod를 명시적으로 지정하지 않으므로 이 작업은 XML 형식과 같이 요청 본문에 문자열이 있는 HTTP POST 요청을 처리합니다. 요청에 대한 HTTP 메서드 및 URI 형식은 각각 MethodUriTemplate 속성을 사용하여 사용자 지정할 수 있습니다.

App.config 파일은 WebHttpEndpoint 속성이 HelpEnabled로 설정된 기본 true로 WCF 서비스를 구성합니다. 따라서 WCF 인프라에서는 http://localhost:8000/Customers/help에 자동 HTML 기반 도움말 페이지를 만듭니다. 이 페이지에서는 서비스에 대한 HTTP 요청을 생성하고 서비스의 HTTP 응답을 사용하는 방법에 대한 정보가 제공됩니다.

Program.cs는 WCF 채널 팩터리를 사용하여 서비스를 호출하고 응답을 처리하는 방법을 보여 줍니다. 이 방법은 WCF 서비스에 액세스하는 여러 방법 중 하나일 뿐입니다. HttpWebRequestWebClient 같은 다른 .NET Framework 클래스를 사용하여 서비스에 액세스할 수도 있습니다.

이 샘플은 콘솔 애플리케이션 내에서 실행되는 자체 호스팅 서비스와 클라이언트로 구성되어 있습니다. 콘솔 애플리케이션이 실행되면 클라이언트에서는 서비스로 요청을 보내고 응답의 관련 정보를 콘솔 창에 씁니다.

이 샘플을 사용하려면

  1. Basic Http Service 샘플의 솔루션을 엽니다. 관리자 권한으로 Visual Studio 2012를 시작해야 샘플이 제대로 실행됩니다. 이렇게 하려면 Visual Studio 아이콘을 마우스 오른쪽 단추로 클릭하고 상황에 맞는 메뉴에서 관리자 권한으로 실행을 선택합니다.

  2. Ctrl+Shift+B를 눌러 솔루션을 빌드한 다음, Ctrl+F5를 눌러 디버깅하지 않고 콘솔 애플리케이션을 실행합니다. 콘솔 창이 나타나고 실행 중인 서비스의 URI와 실행 중인 서비스에 대한 HTML 도움말 페이지의 URI가 제공됩니다. 언제든지 브라우저에서 HTML 도움말 페이지의 URI를 입력하면 해당 도움말 페이지를 볼 수 있습니다. 샘플이 실행되면 클라이언트에서는 현재 활동의 상태를 씁니다.

  3. 아무 키나 눌러 샘플을 종료합니다.