방법: ASP.NET AJAX에서 WCF 서비스 구성
업데이트: 2007년 11월
WCF(Windows Communication Foundation)를 사용하면 클라이언트 ECMAScript(JavaScript) 함수에서 호출하고 ASP.NET AJAX 사용 웹 응용 프로그램에서 실행할 수 있는 서비스(.svc)를 만들 수 있습니다. 이 항목에서는 서비스를 클라이언트 스크립트에서 호출할 수 있도록 구성하는 방법에 대해 설명합니다. 서비스는 configuration 섹션의 자식인 Web.config 파일의 system.serviceModel 요소에서 구성합니다.
WCF 서비스 호출이 진행되는 동안 JSON 형식은 클라이언트 응용 프로그램과 서비스 간에 데이터를 교환하는 데 사용됩니다.
WCF 서비스를 클라이언트 스크립트에서 호출할 수 있도록 구성하려면
응용 프로그램의 Web.config 파일을 엽니다.
다음 example과 같이 서비스의 serviceHostingEnvironment 요소의 aspNetCompatibilityEnabled를 true로 설정합니다.
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
다음 예제에서처럼 메시징 스택이 HTTP 파이프라인에 적용되도록 구성합니다.
<bindings> <webHttpBinding> <binding name="default"/> </webHttpBinding> </bindings>
behaviors 요소에 포함된 endpointBehaviors 및 serviceBehaviors를 정의하여 끝점 및 서비스에 대한 behavior 요소를 구성합니다.
endpointBehaviors 요소의 behavior 요소는 웹 스크립팅이 활성화되도록 구성해야 합니다. serviceBehaviors 요소의 behavior 요소는 서비스 메타데이터가 게시되어 HTTP GET 요청을 통해 검색할 수 있도록 구성해야 합니다.
다음 예제에서는 behavior 및 endPointBehavior 요소를 구성하는 방법을 보여 줍니다.
<behaviors> <endpointBehaviors> <behavior name="webScriptEnablingBehavior"> <enableWebScript/> </behavior> </endpointBehaviors> <serviceBehaviors> <behavior name="MyServiceTypeBehaviors"> <serviceMetadata httpGetEnabled="true"/> </behavior> </serviceBehaviors> </behaviors>
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>