Microsoft ASP.NET AJAX를 사용하면 응답성이 뛰어나고 친숙한 사용자 인터페이스 요소가 포함된 풍부한 사용자 환경을 포함하는 웹 페이지를 빠르게 만들 수 있습니다. ASP.NET AJAX는 브라우저 간 ECMAScript(JavaScript) 및 DHTML(동적 HTML) 기술을 통합하는 클라이언트 스크립트 라이브러리를 제공하고 ASP.NET 2.0 서버 기반 개발 플랫폼과 통합합니다. ASP.NET AJAX를 사용하면 웹 애플리케이션의 사용자 환경과 효율성을 향상시킬 수 있습니다.
ASP.NET AJAX는 강력한 개발 프레임워크를 제공하기 위해 통합된 클라이언트 스크립트 라이브러리 및 서버 구성 요소로 구성됩니다. ASP.NET 페이지에서 서비스에 액세스하려면: 페이지의 ASP.NET 스크립트 관리자 컨트롤에 서비스 URL이 추가되면 일반 JavaScript 함수 호출과 똑같이 보이는 JavaScript 코드를 사용하여 서비스 작업을 호출할 수 있습니다.
대부분의 WCF(Windows Communication Foundation) 서비스는 적절한 ASP.NET AJAX 엔드포인트를 추가하여 ASP.NET AJAX와 호환되는 서비스로 노출될 수 있습니다.
Visual Studio를 사용하는 경우 ASP.NET 웹 사이트 또는 웹 애플리케이션으로 작업할 때 새 항목 추가 대화 상자에서 사용할 수 있는 AJAX 지원 WCF 서비스에 미리 빌드된 템플릿을 사용할 수 있습니다.
Visual Studio 템플릿을 사용하지 않는 경우 ASP.NET AJAX 엔드포인트를 만드는 두 가지 방법이 있습니다.
구성을 사용하지 않고 동적 호스트 활성화를 사용하여 엔드포인트를 만듭니다. WCF 구성 시스템에 익숙하지 않은 경우 가장 기본적인 방법입니다. 자세한 내용은 방법: 구성을 사용하지 않고 ASP.NET AJAX 엔드포인트 추가를 참조하세요.
구성을 사용하여 AJAX 사용 엔드포인트를 WCF 서비스에 추가합니다. 자세한 내용은 방법: 구성을 사용하여 ASP.NET AJAX 엔드포인트 추가를 참조하세요.
WCF 웹 HTTP 프로그래밍 모델 개요에 설명된 웹 프로그래밍 모델은 ASP.NET AJAX 서비스와 함께 사용할 수 있습니다. 특히:
WebGetAttribute 및 WebInvokeAttribute 특성을 사용하여 HTTP GET 및 HTTP POST 동사 중에서 선택할 수 있습니다. 올바르게 사용하면 애플리케이션의 성능이 크게 향상될 수 있습니다. 자세한 내용은 방법: ASP.NET AJAX 엔드포인트에 대한 HTTP POST 및 HTTP GET 요청 중에서 선택합니다.
ResponseFormat 및 ResponseFormat 속성을 사용하여 서비스가 기본 JSON(JavaScript Object Notation) 대신 XML 데이터를 반환하도록 할 수 있습니다. ASP.NET AJAX 프레임워크를 사용하여 이 작업을 수행하면 JavaScript 클라이언트가 XML DOM 개체를 받습니다.
경고
작업을 수행하려면 콘텐츠 형식을 텍스트/xml로 설정해야 합니다. 그렇지 않으면 JavaScript 클라이언트는 XML DOM 개체 대신 XML을 포함하는 문자열을 받습니다.
다음은 콘텐츠 형식이 적절하게 설정된 XML 데이터를 반환하는 작업의 예입니다.
[OperationContract, WebGet(ResponseFormat=WebMessageFormat.Xml)] public XElement GetData() { XElement x; //Get some data here... WebOperationContext.Current.OutgoingResponse.ContentType = "text/xml"; return x; }ASP.NET AJAX와의 호환성이 필요한 경우 WebGetAttribute 및 WebInvokeAttribute 특성의 다른 속성을 변경할 수 없습니다. ASP.NET AJAX 호출 규칙을 위반하지 않는 한 웹 프로그래밍 모델의 다른 측면을 사용할 수 있습니다.
고급 시나리오에서는 WCF에서 AJAX 지원에 대한 몇 가지 추가 세부 정보를 이해해야 합니다.
JavaScript를 사용하여 AJAX 페이지 클라이언트와 WCF 서비스 간에 데이터를 전송하는 방법과 .NET Framework 형식이 JavaScript 형식에 매핑되는 방법에 대한 자세한 내용은 JSON 및 기타 데이터 전송 형식에 대한 지원을 참조하세요.
URL 기반 인증 및 ASP.NET 세션 정보 액세스와 같은 ASP.NET 기능을 활용하려면 구성을 통해 ASP.NET 호환성 모드를 사용하도록 설정할 수 있습니다.
WCF의 AJAX 엔드포인트는 ASP.NET AJAX 프레임워크 없이도 사용될 수 있습니다. 이렇게 하려면 WCF에서 AJAX 지원의 지원 아키텍처를 이해해야 합니다. 이 아키텍처에 대한 자세한 내용은 WCF 웹 HTTP 프로그래밍 개체 모델을 참조하세요. 이 방법을 보여주는 코드 샘플은 JSON 및 XML을 사용하는 AJAX 서비스를 참조하세요.