다음을 통해 공유


기본 HTTP 서비스

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

샘플 세부 정보

WCF 서비스는 2개의 EchoWithGet 작업을 노출하고 EchoWithPost입력으로 전달된 문자열을 반환합니다.

EchoWithGet 작업에는 HTTP WebGetAttribute 요청을 처리함을 나타내는 GET 주석이 추가됩니다. WebGetAttribute이(가) UriTemplate을(를) 명시적으로 지정하지 않았으므로 작업에서는 s이라는 이름의 쿼리 문자열 매개 변수를 사용하여 입력 문자열이 전달되기를 기대합니다. 서비스에서 예상하는 URI 형식은 속성을 사용하여 UriTemplate 사용자 지정할 수 있습니다.

해당 연산은 EchoWithPost 주석을 통해 WebInvokeAttribute 처리되어, 이는 GET 연산이 아님을 나타냅니다(부작용이 있습니다). WebInvokeAttribute 명시적으로 지정Method하지 않으므로 작업에서는 요청 본문에 문자열이 있는 HTTP POST 요청을 처리합니다(예: XML 형식). 요청에 대한 HTTP 메서드와 URI 형식은 각각 Method 속성과 UriTemplate 속성을 사용하여 사용자 지정할 수 있습니다.

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

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

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

이 샘플을 사용하려면

  1. 기본 Http 서비스 샘플에 대한 솔루션을 엽니다. Visual Studio 2012를 시작할 때 샘플이 성공적으로 실행되려면 관리자로 실행해야 합니다. Visual Studio 아이콘을 마우스 오른쪽 단추로 클릭하고 상황에 맞는 메뉴에서 관리자 권한으로 실행을 선택하여 이 작업을 수행합니다.

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

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