ASP.NET 응용 프로그램 서비스 개요

업데이트: 2007년 11월

ASP.NET 응용 프로그램 서비스는 폼 인증, 역할 및 프로필 속성과 같은 기능에 액세스할 수 있는 기본 제공 웹 서비스입니다. 이러한 서비스는 응용 프로그램이 서버에서 제공되는 하나 이상의 서비스와 하나 이상의 클라이언트로 구성되는 SOA(서비스 지향 아키텍처)의 일부입니다. SOA에 대한 자세한 내용은 MSDN 웹 사이트에서 Understanding Service-Oriented Architecture를 참조하십시오.

ASP.NET 응용 프로그램 서비스의 중요한 기능은 ASP.NET 웹 응용 프로그램뿐 아니라 다양한 클라이언트 응용 프로그램에서 사용할 수 있다는 점입니다. ASP.NET 응용 프로그램 서비스는 .NET Framework를 기반으로 하는 모든 클라이언트에서 사용할 수 있습니다. 또한 SOAP 형식으로 메시지를 주고받을 수 있는 모든 클라이언트 응용 프로그램에서 ASP.NET 응용 프로그램 서비스를 사용할 수 있습니다.

이 항목에서는 다음 내용에 대해 설명합니다.

  • 시나리오

  • 배경

  • 예제

  • 클래스 참조

  • 추가 리소스

시나리오

ASP.NET 응용 프로그램 서비스의 클라이언트 응용 프로그램은 다양한 형식일 수 있으며 다른 운영 체제에서 실행될 수 있습니다. 여기에는 다음과 같은 클라이언트 형식이 포함됩니다.

  • AJAX 클라이언트. 브라우저에서 실행되는 ASP.NET 웹 페이지(.aspx 파일)이며 클라이언트 스크립트를 통해 응용 프로그램 서비스에 액세스합니다. AJAX 클라이언트는 일반적으로 JSON 형식을 사용하여 데이터를 교환합니다. 자세한 내용은 ASP.NET AJAX의 웹 서비스 사용을 참조하십시오.

  • .NET Framework 클라이언트. 공급자 모델 인프라를 사용하여 HTTP를 통해 응용 프로그램 서비스에 액세스하는 .NET Framework Windows 응용 프로그램이며 JSON 프로토콜을 사용하여 데이터를 교환합니다. 자세한 내용은 클라이언트 응용 프로그램 서비스 개요를 참조하십시오.

    참고:

    공급자 모델에서는 멤버 자격 시스템을 적용하여 다른 데이터 저장소나 스키마가 다른 데이터 저장소를 사용합니다. 자세한 내용은 멤버 자격 공급자를 참조하십시오.

  • SOAP 클라이언트. SOAP 1.1을 통해 응용 프로그램 서비스에 액세스할 수 있는 클라이언트입니다. 다른 운영 체제를 실행하거나 Java 응용 프로그램과 같은 다른 기술을 사용하는 클라이언트에서 유용합니다. 자세한 내용은 연습: ASP.NET 응용 프로그램 서비스 사용을 참조하십시오.

다음 그림에서는 여러 클라이언트가 서비스와 통신하는 방법을 보여 줍니다.

웹 서비스 통신

배경

ASP.NET에서 제공하는 응용 프로그램을 사용하여 클라이언트 응용 프로그램에서 웹 응용 프로그램의 일부인 정보를 액세스하고 공유할 수 있습니다. ASP.NET에서는 다음과 같은 응용 프로그램 서비스를 사용할 수 있습니다.

  • 인증 서비스. 이 서비스를 사용하면 사용자가 응용 프로그램에 로그인하게 할 수 있습니다. 이 서비스에서는 사용자 자격 증명을 받아들이고 인증 티켓(쿠키)을 반환합니다. 자세한 내용은 ASP.NET 폼 인증 개요를 참조하십시오.

  • 역할 서비스. 이 서비스에서는 ASP.NET 역할 공급자를 통해 사용할 수 있는 정보를 기반으로 인증된 사용자에 대한 응용 프로그램 관련 역할을 결정합니다. 이 서비스는 사용자의 역할에 따라 특정 UI를 제공하거나 특정 리소스에 액세스할 수 있게 하려는 경우에 유용합니다. 자세한 내용은 역할을 사용하여 권한 부여 관리를 참조하십시오.

  • 프로필 서비스. 이 서비스에서는 사용자별 정보를 서버에 저장된 사용자 프로필로 제공합니다. 이 서비스를 사용하면 응용 프로그램에서 서로 다른 시기에 여러 클라이언트 UI 구성 요소를 통해 사용자 설정에 액세스할 수 있습니다. 자세한 내용은 ASP.NET 프로필 속성 개요를 참조하십시오.

응용 프로그램 서비스 클라이언트

이 단원에서는 ASP.NET 응용 프로그램 서비스를 사용할 수 있는 클라이언트 응용 프로그램 형식에 대해 자세히 설명하고 클라이언트가 응용 프로그램 서비스와 통신하는 방법에 대한 몇 가지 정보를 제공합니다

AJAX 클라이언트

AJAX 클라이언트(AJAX 사용 ASP.NET 웹 페이지)는 POST 요청을 사용하여 HTTP를 통해 응용 프로그램 서비스와 데이터를 교환합니다. 데이터는 JSON 형식으로 패키지됩니다. 클라이언트 응용 프로그램은 클라이언트 스크립트 프록시 클래스를 통해 응용 프로그램 서비스와 통신합니다. 프록시 클래스는 서버에서 생성되며 응용 프로그램 서비스를 호출하는 페이지의 일부로 브라우저에 다운로드됩니다. 자세한 내용은 ASP.NET AJAX의 웹 서비스 사용을 참조하십시오.

NET Framework 클라이언트

ASP.NET 응용 프로그램 서비스는 POST 요청을 사용하여 HTTP를 통해 .NET Framework 클라이언트와 데이터를 교환합니다. 데이터는 JSON 형식으로 패키지됩니다. 클라이언트 응용 프로그램은 .NET Framework 공급자 모듈을 사용하여 응용 프로그램 서비스와 통신합니다. ASP.NET 응용 프로그램 서비스의 경우 공급자 모델은 .NET Framework 클라이언트 형식과 데이터 소스에서 사용자 자격 증명을 저장 및 검색하는 관련 멤버 자격 공급자를 나타냅니다. 예를 들어 여기에는SqlMembershipProvider 클래스가 포함됩니다.  

클라이언트와 서버 사이의 통신은 동기적으로 수행됩니다. 자세한 내용은 클라이언트 응용 프로그램 서비스 개요를 참조하십시오. 응용 프로그램 서비스는 System.Web.ClientServices.Providers 네임스페이스에 정의된 형식별로 구현됩니다.

응용 프로그램 서비스에 액세스하려면 .NET Framework 클라이언트 응용 프로그램을 적절하게 구성해야 합니다. 서버 구성은 AJAX의 응용 프로그램 서비스에서 사용되는 구성과 동일합니다.

공급자 모델에 대한 자세한 내용은 ASP.NET 2.0 Provider Model: Introduction to the Provider Model멤버 자격 소개를 참조하십시오.

SOAP 클라이언트

해당 운영 체제에 관계없이 SOAP 1.1 프로토콜을 사용할 수 있는 모든 클라이언트 응용 프로그램에서 ASP.NET 인증, 프로필 및 역할 서비스에 액세스할 수 있습니다. ASP.NET 응용 프로그램 서비스는 WCF(Windows Communication Foundation)에서 기본 제공되며 클라이언트와 데이터를 SOAP 형식으로 교환합니다. 자세한 내용은 MSDN 웹 사이트에서 XML Web Services Infrastructure를 참조하십시오.

클라이언트와 응용 프로그램 서비스 사이의 통신은 클라이언트에서 실행되고 응용 프로그램 서비스를 나타내는 프록시 클래스를 사용하여 수행됩니다. Service Model Metadata Utility Tool (svcutil.exe) 도구를 사용하여 ASP.NET 응용 프로그램 서비스를 지원하는 프록시 클래스를 생성할 수 있습니다. 자세한 내용은 연습: ASP.NET 응용 프로그램 서비스 사용을 참조하십시오.

다음 프록시 클래스가 지원됩니다.

  • 인증 서비스 클라이언트. 생성된 인증 서비스 클라이언트 프록시 클래스를 사용하면 SOAP 메시지를 주고받을 수 있는 모든 클라이언트 응용 프로그램에서 인증 서비스를 사용할 수 있습니다. ASP.NET 응응 프로그램의 사용자와 .NET Framework를 사용하지 않는 응용 프로그램의 사용자를 동일한 사용자 자격 증명을 사용하여 인증할 수 있습니다. 서비스에서 발급하는 인증 티켓은 HTTP 쿠기로 만들어지며 ASP.NET 폼 인증과 호환됩니다. 자세한 내용은 방법: WCF 인증 서비스 활성화를 참조하십시오. 인증 티켓에 대한 자세한 내용은 FormsAuthenticationTicket을 참조하십시오.

    참고:

    인증 서비스에서는 URL에 인증 티켓을 포함하지 않습니다. 따라서 인증 티켓을 유지하기 위해 클라이언트에서 쿠키를 지원하고 사용할 수 있어야 합니다.

  • 역할 서비스 클라이언트. 생성된 역할 서비스 클라이언트 프록시를 사용하면 SOAP 메시지를 주고받을 수 있는 모든 클라이언트 응용 프로그램에서 역할 서비스를 사용할 수 있습니다. 자세한 내용은 방법: WCF 역할 서비스 활성화를 참조하십시오.

  • 프로필 서비스 클라이언트. 생성된 프로필 서비스 클라이언트 프록시를 사용하면 SOAP 메시지를 주고받을 수 있는 모든 클라이언트 응용 프로그램에서 프로필 서비스를 사용할 수 있습니다. ASP.NET 응용 프로그램의 사용자와 .NET Framework를 사용하지 않는 응용 프로그램의 사용자가 동일한 사용자 설정에 액세스할 수 있습니다. 자세한 내용은 방법: WCF 프로필 서비스 활성화를 참조하십시오.

맨 위로 이동

예제

AJAX 클라이언트에서 응용 프로그램 서비스를 호출하는 방법에 대한 예제는 다음 항목을 참조하십시오.

.NET Framework 클라이언트에서 응용 프로그램 서비스를 호출하는 방법에 대한 예제는 다음 항목을 참조하십시오.

SOAP 클라이언트에서 응용 프로그램 서비스를 호출하는 방법에 대한 예제는 다음 항목을 참조하십시오.

맨 위로 이동

클래스 참조

다음 표에는 클라이언트 스크립트에서 호출하는 ASP.NET 응용 프로그램 서비스와 관련된 주요 클래스가 나와 있습니다.

클라이언트 네임스페이스

다음 표에는 클라이언트 스크립트에서 ASP.NET 응용 프로그램 서비스를 호출하는 데 사용하는 클래스와 형식이 포함된 네임스페이스가 나와 있습니다.

이름

설명

Sys.Services 네임스페이스

ASP.NET AJAX 클라이언트 응용 프로그램에서 ASP.NET 인증 서비스, 프로필 서비스 및 역할 응용 프로그램 서비스에 대한 스크립트 액세스를 제공하는 형식을 포함합니다. Sys.Services 네임스페이스는 Microsoft AJAX 라이브러리의 일부입니다.

서버 네임스페이스

다음 표에는 서버 프로그래밍을 위해 ASP.NET 응용 프로그램 서비스를 지원하는 클래스와 형식이 포함된 네임스페이스가 나와 있습니다.

이름

설명

System.Web.ApplicationServices

웹 응용 프로그램 서비스에 액세스하는 데 사용할 수 있는 클래스를 제공합니다.

System.Web.ClientServices

Windows 기반 응용 프로그램에서 ASP.NET 로그인, 역할 및 프로필 서비스에 대한 액세스를 지원하는 클래스를 제공합니다.

System.Web.ClientServices.Providers

Windows 기반 응용 프로그램에서 웹 응용 프로그램 서비스에 대한 액세스를 지원하는 클라이언트 서비스 공급자와 기타 클래스를 포함합니다.

맨 위로 이동

추가 리소스

What is Windows Communication Foundation?

Understanding Service-Oriented Architecture

XML Web Services Infrastructure

맨 위로 이동

참고 항목

작업

방법: WCF 인증 서비스 활성화

방법: WCF 역할 서비스 활성화

방법: WCF 프로필 서비스 활성화

개념

ASP.NET AJAX의 웹 서비스 사용