방법: 구성을 사용하여 ASP.NET AJAX 엔드포인트 추가
WCF(Windows Communication Foundation)를 통해 클라이언트 웹 사이트의 JavaScript에서 호출할 수 있는 ASP.NET AJAX 사용 엔드포인트를 사용할 수 있는 서비스를 만들 수 있습니다. 이와 같은 엔드포인트를 만들려면 다른 모든 WCF(Windows Communication Foundation) 엔드포인트에서처럼 구성 파일을 사용하거나 구성 요소가 필요하지 않은 메서드를 사용할 수 있습니다. 이 항목에서는 구성 방법을 보여 줍니다.
서비스 엔드포인트가 ASP.NET AJAX를 사용할 수 있도록 하는 절차의 일부는 WebHttpBinding을 사용하고 <enableWebScript> 엔드포인트 동작을 추가하도록 엔드포인트를 구성하는 작업입니다. 엔드포인트를 구성한 후에 서비스를 구현하고 호스트하는 단계는 WCF 서비스에서 사용하는 단계와 비슷합니다. 작업 예제는 HTTP POST를 사용하는 AJAX 서비스를 참조하세요.
구성을 사용하지 않고 ASP.NET AJAX 엔드포인트를 구성하는 방법에 대한 자세한 내용은 방법: 구성을 사용하지 않고 ASP.NET AJAX 엔드포인트 추가를 참조하세요.
기본 WCF 서비스를 만들려면
ServiceContractAttribute 특성으로 표시된 인터페이스를 사용하여 기본 WCF 서비스 계약을 정의합니다. 각 작업을 OperationContractAttribute로 표시합니다. Namespace 속성을 설정해야 합니다.
[ServiceContract(Namespace = "MyService")] public interface ICalculator { [OperationContract] // This operation returns the sum of d1 and d2. double Add(double n1, double n2); //Other operations omitted… }
ICalculator
를 사용하여CalculatorService
서비스 계약을 구현합니다.public class CalculatorService : ICalculator { public double Add(double n1, double n2) { return n1 + n2; } // Other operations omitted… }
네임스페이스 블록에
ICalculator
및CalculatorService
구현을 래핑하여 이러한 구현에 대한 네임스페이스를 정의합니다.namespace Microsoft.Ajax.Samples { //Include the code for ICalculator and Calculator here. }
서비스에 대한 ASP.NET AJAX 엔드포인트를 만들려면
동작 구성을 만들고 서비스의 ASP.NET AJAX 지원 엔드포인트에 대한 <enableWebScript> 동작을 지정합니다.
<system.serviceModel> <behaviors> <endpointBehaviors> <behavior name="AspNetAjaxBehavior"> <enableWebScript /> </behavior> </endpointBehaviors> </behaviors> </system.serviceModel>
이전 단계에서 정의한 WebHttpBinding 및 ASP.NET AJAX 동작을 사용하는 서비스에 대한 엔드포인트를 만듭니다.
<system.serviceModel> <services> <service name="Microsoft.Ajax.Samples.CalculatorService"> <endpoint address="" behaviorConfiguration="AspNetAjaxBehavior" binding="webHttpBinding" contract="Microsoft.Ajax.Samples.ICalculator" /> </service> </services> </system.serviceModel>
IIS에서 서비스를 호스팅하려면
IIS에서 서비스를 호스팅하려면 애플리케이션에서 .svc 확장명을 가진 새 파일 서비스를 만듭니다. 서비스에 적절한 @ServiceHost 지시문 정보를 추가하여 이 파일을 편집합니다. 예를 들어
CalculatorService
샘플에 대한 서비스 파일의 내용에는 다음 정보가 포함되어 있습니다.<%@ServiceHost language=c# Debug="true" Service="Microsoft.Ajax.Samples.CalculatorService" %>
IIS에서 호스트하는 방법에 대한 자세한 내용은 방법: IIS에서 WCF 서비스 호스트를 참조하세요.
서비스를 호출하려면
- 엔드포인트는 .svc 파일을 기준으로 빈 주소에 구성됩니다. 따라서 서비스를 사용할 수 있으며, service.svc/<작업>으로 요청을 보내서 서비스를 호출할 수 있습니다. 예를 들어
Add
작업의 경우 service.svc/Add를 사용합니다. 엔드포인트 URL을 ASP.NET AJAX Script Manager 컨트롤의 스크립트 컬렉션에 입력하여 사용할 수 있습니다. 예제는 HTTP POST를 사용하는 AJAX 서비스를 참조하세요.