방법: ASP.NET AJAX에서 WCF 서비스 구성

Visual Studio 2010

업데이트: 2007년 11월

WCF(Windows Communication Foundation)를 사용하면 클라이언트 ECMAScript(JavaScript) 함수에서 호출하고 ASP.NET AJAX 사용 웹 응용 프로그램에서 실행할 수 있는 서비스(.svc)를 만들 수 있습니다. 이 항목에서는 서비스를 클라이언트 스크립트에서 호출할 수 있도록 구성하는 방법에 대해 설명합니다. 서비스는 configuration 섹션의 자식인 Web.config 파일의 system.serviceModel 요소에서 구성합니다.

WCF 서비스 호출이 진행되는 동안 JSON 형식은 클라이언트 응용 프로그램과 서비스 간에 데이터를 교환하는 데 사용됩니다.

WCF 서비스를 클라이언트 스크립트에서 호출할 수 있도록 구성하려면

  1. 응용 프로그램의 Web.config 파일을 엽니다.

  2. 다음 example과 같이 서비스의 serviceHostingEnvironment 요소의 aspNetCompatibilityEnabledtrue로 설정합니다.

    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
    
  3. 다음 예제에서처럼 메시징 스택이 HTTP 파이프라인에 적용되도록 구성합니다.

    <bindings>
        <webHttpBinding>
           <binding name="default"/>
        </webHttpBinding>
    </bindings>
    
  4. behaviors 요소에 포함된 endpointBehaviorsserviceBehaviors를 정의하여 끝점 및 서비스에 대한 behavior 요소를 구성합니다.

    endpointBehaviors 요소의 behavior 요소는 웹 스크립팅이 활성화되도록 구성해야 합니다. serviceBehaviors 요소의 behavior 요소는 서비스 메타데이터가 게시되어 HTTP GET 요청을 통해 검색할 수 있도록 구성해야 합니다.

    다음 예제에서는 behaviorendPointBehavior 요소를 구성하는 방법을 보여 줍니다.

    <behaviors>
      <endpointBehaviors>
        <behavior name="webScriptEnablingBehavior">
          <enableWebScript/>
        </behavior>
      </endpointBehaviors>
    
      <serviceBehaviors>
        <behavior name="MyServiceTypeBehaviors">
          <serviceMetadata httpGetEnabled="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    
  5. webHttpBinding behavioConfiguration 특성 값을 이전 단계에서 정의한 service 요소에 대한 끝점을 구성합니다.

    다음 예제에서는 service 요소를 구성하는 방법을 보여 줍니다.

    <services>
      <service name="Samples.Aspnet.SimpleService"
         behaviorConfiguration="MyServiceTypeBehaviors">
         <endpoint address="" binding="webHttpBinding"
           bindingConfiguration="default"
           contract="Samples.Aspnet.ISimpleService"
           behaviorConfiguration="webScriptEnablingBehavior"/>
      </service>
    </services>
    
표시: