ASP.NET AJAX란?

IT/개발공부 / / 2020. 8. 28. 23:55
728x90
반응형

1.개요

ASP AJAX

ASP.NET AJAX 기능을 사용하면 응답성이 높고 친숙한 UI 요소를 통해 풍부한 사용자 경험을 제공하는 웹 페이지를 빠르게 만들 수 있습니다. AJAX 기능은 크로스 브라우저 ECMAScript 및 DHTML 기술을 통합하는 클라이언트 스크립트 라이브러리를 포함하며 ASP.NET 서버 기반 개발 플랫폼과 통합됩니다. AJAX 기능을 사용하여 사용자 경험 및 웹 응용 프로그램의 효율성을 개선할 수 있습니다.

 

2. ASP.NET AJAX 기능 사용 이유

 

ASP.NET AJAX 기능을 사용하면 완전히 서버를 기반으로 하는 웹 응용 프로그램에 비해 많은 장점이 있는 풍부한 웹 응용 프로그램을 빌드할 수 있습니다. AJAX 사용 응용 프로그램은 다음을 제공합니다.

  • 웹 페이지의 상당 부분을 브라우저에서 처리하여 효율성 향상
  • 진행률 표시기, 도구 설명 및 팝업 창과 같은 친숙한 UI 요소
  • 변경된 웹 페이지 부분만 새로 고치는 부분 페이지 업데이트
  • 폼 인증, 역할 및 사용자 프로필에 대한 클라이언트와 ASP.NET 응용 프로그램 서비스의 통합
  • 클라이언트 기능을 포함하기 위해 서버 큰트롤을 사용자 지정할 수 있도록 하는 프레임워크
  • Microsoft Internet Explorer, Mozilla FireFox 및 Apple Safari를 비롯하여 가장 일반적으로 사용되는 브라우저에 대한 지원

 

3. ASP.NET AJAX 기능의 아키텍처

 

ASP.NET AJAX 기능의 아키텍처는 클라이언트 스크립트 라이브러리서버 구성 요소의 두 부분으로 구성되어 있습니다. 이러한 부분이 통합되어 강력한 개발 프레임워크가 제공됩니다. 아래의 이미지에서는 클라이언트 스크립트 라이브러리와 서버 구서 요소에 포함되어 있는 기능을 보여줍니다.

 

AJAX 클라이언트 아키텍처

 

클라이언트 아키텍처에는 구성 요소 지원, 브라우저 호환성, 네트워킹, 핵심 서비스에 대한 라이브러리가 포함되어 있습니다.

 

구성요소

 

클라이언트 구성 요소를 사용하면 포스트백을 수행하지 않고도 브라우저에서 풍부한 동작을 사용할 수 있습니다. 구성 요소는 타이머 개체와 같이 코드를 캡슐화하는 비가시 개체인 구성 요소, 기존 DOM 요소의 기본 동작을 확장하는 동작, 사용자 지정 동작이 지정된 새 DOM요소를 나타내는 컨트롤 등의 범주로 구분 됩니다.

 

브라우저 호환성

 

브라우저 호환성 레이어는 일반적으로 사용되는 브라우저에 대한 AJAX 스크립팅 기능을 제공합니다. 이 기능을 사용하면 지원 브라우저에 한해, 동일한 스크립트를 작성 및 사용이 가능합니다.

 

네트워킹

 

네트워킹 레이어는 브라우저의 스크립트와 웹 기반 서비스 및 응용 프로그램 간 통신을 처리하며 비동기 원격 메서드 호출을 관리합니다. UpdatePanel 컨트롤을 사용하는 부분 페이지 업데이트와 같은 많은 일반적인 시나리오에서 네트워킹 레이어는 자동으로 사용되며 사용자가 코드를 작성할 필요가 없습니다.

 

네트워킹 레이어는 클라이언트 스크립트에서의 서버 기반 폼 인증, 역할 정보 및 프로필 정보 액세스에 대한 지원도 제공합니다. 이러한 지원은 ASP.NET을 사용하여 작성되지 않은 웹 응용 프로그램에도 제공됩니다.

 

핵심 서비스

 

ASP.NET AJAX 클라이언트 스크립트 라이브러리는 개체 지향 개발을 위한 기능을 제공하는 JavaScript 파일로 구성되어 있습니다. AJAX.NET ASP 클라이언트 스크립트 라이브러리에 포함된 개체 지향 기능을 사용하면 클라이언트 스크립팅 시 일관성과 모듈성을 최고 수준으로 유지할 수 있습니다. 클라이언트 아키텍처를 구성하는 핵심 서비스는 다음과 같습니다. 

  • 클래스, 네임스페이스, 이벤트 처리, 상속, 데이터 형식 및 개체 Serialization과 같은 JavaScript에 대한 개체 지향 확장
  • 문자열 작성기 및 확장 오류 처리와 같은 구성 요소를 포함하는 기본 클래스 라이브러리
  • 어셈블리에 포함되거나 독립형 JavaScript 파일로 제공되는 JavaScript 라이브러리에 대한 지원, JavaScript 라이브러리를 어셈블리에 포함하면 응용 프로그램을 보다 쉽게 배포할 수 있으며 버전 관리 문제를 해결하는 데 도움이 됩니다.

 

디버깅 및 오류 처리

 

웹 페이지 끝에서 읽을 수 있는 형식으로 개체를 표시하는 방법을 제공하는 Sys.Debug클래스가 포함되어 있습니다. 또한 이 클래스는 추적 메세지를 표시하고, 사용자가 어설션을 사용할 수 있게 해주며, 중단하고 디버거를 시작하게 합니다. 확장 Error 개체 API는 릴리스 및 디버그 모드를 지원하는 유용한 예외 정보를 제공합니다.

 

전역화

 

AJAX아키텍처는 클라이언트 스크립트를 지역화 및 전역화하기 위한 모델을 제공합니다. 이를 통해 단일 코드베이스를 사용하여 여러 로컬에 UI를 제공하는 응용 프로그램을 디자인할 수 있습니다.

 

AJAX서버 아키텍처

 

AJAX 개발을 지원하는 서버 부분은 응용 프로그램의 UI와 흐름을 관리하는 ASP.NET 웹 서버 컨트롤 및 구성 요소로 구성되어 있습니다. 서버 부분은 Serialization, 유효성 검사, 컨트롤 확장성 등도 관리합니다. 폼 인증, 역할 및 사용자 프로필에 대해 ASP.NET 응용 프로그램 서비스에 액세스할 수 있도록 하는 ASP.NET 웹 서비스도 있습니다.

 

스크립트 지원

 

ASP.NET AJAX 기능은 서버에서 클라이언트로 전송되는 지원 스크립트를 사용하여 구현됩니다. 사용하는 AJAX 기능에 따라 브라우저로 전송되는 스크립트가 달라집니다. ASP.NET AJAX에 대한 스크립트 지원은 다음과 같은 두 가지 중요한 기능을 제공하는 데 사용됩니다.

  • 네임스페이스, 상속, 인터페이스, 열겨형, 리플렉션 및 추가 기능을 제공하는 형식 시스템 및 JavaScript 확장 집합인 Microsoft AJAX 라이브러리
  • 비동기 포스트백을 사용하여 페이지 영역을 업데이트하는 부분 페이지 렌더링

 

지역화

 

ASP.NET AJAX 아기텍처는 ASP.NET 2.0 지역화 모델을 기반으로 빌드 됩니다. 이 아키텍처는 어셈블리에 포함되거나 디스크로 제공되는 지역화된 .js 파일에 대한 추가 지원을 제공합니다. ASP.NET은 특정 언어 및 지역에 대해 지역화된 클라이언트 스크립트 및 리소스를 자동으로 처리합니다.

 

웹 서비스

 

ASP.NET 웹 페이지의 AJAX 기능을 사용하면 클라이언트 스크립트를 통해 ASP.NET 웹 서비스와 WCF 서비스 모두 호출할 수 있습니다. 필요한 스크립트 참조가 자동으로 페이지에 추가 되고 추가된 참조는 클라이언트 스크립트에서 웹 서비스를 호출하는데 사용되는 웹 서비스 프록시 클래스를 자동으로 생성합니다.

 

다른 웹 개발 환경을 사용하는 경우 등에서 ASP.NET 서버 컨트롤을 사용하지 않고 ASP.NET 웹 서비스에 액세스할 수도 있습니다. 이렇게 하려면 페이지에서 Microsoft AJAX 라이브러리에 대한 참조를 스크립트 파일 및 웹 서비스 자체에 수동으로 포함합니다. 런타임에 ASP.NET은 서비스 호출에 사용할 수 있는 프록시 클래스를 생성합니다.

 

응용 프로그램 서비스

 

ASP.NET 응용 프로그램 서비스는 ASP.NET 폼 인증, 역할 및 사용자 프로필을 기반으로 하는 기본 제공 웹 서비스입니다. 이러한 서비스는 Windows 클라이언트 응용 프로그램 또는 WCF 호환 클라이언트를 사용하여 AJAX 사용 웹 페이지에서 클라이언트 스크립트로 호출할 수 있습니다.

 

서버 컨트롤

 

ASP.NET AJAX 서버 컨트롤은 풍부한 클라이언트 동작을 생성하기 위해 통합되는 서버 및 클라이언트 코드로 구성되어 있습니다. ASP.NET 웹 페이지에 AJAX 컨트롤을 추가하면 페이지가 AJAX기능을 위해 자동으로 지원 클라이언트 스크립트를 브라우저로 보냅니다. 추가 클라이언트 코드를 제공하여 컨트롤의 기능을 사용자 지정할 수 있지만 이 작업을 반드시 수행해야 하는 것은 아닙니다.

 

다음 목록에서는 가장 일반적으로 사용되는 ASP.NET AJAX 서버 컨트롤을 보여 줍니다.

  • [ScriptManager] 클라이언트 구성 요소, 부분 페이지 렌더링, 지역화, 전역화 및 사용자 지정 사용자 스크립트에 대한 스크립트 리소스를 관리. 아래의 컨트롤들을 사용하려면 해당 컨트롤이 필요합니다.
  • [UpdatePanel] 동기 포스트백을 사용하여 젠처 페이지를 새로 고치는 대신 페이지의 선택한 부분만 새로 고칠 수 있도록 합니다.
  • [UpdateProgress] UpdatePanel 컨트롤의 부분 페이지 업데이트에 대한 상태 정보를 제공합니다.
  • [Timer] 정의된 간격으로 포스트백을 수행합니다. Timer 컨트롤을 사용하여 전체 페이지를 게시하거나 이를 UpdatePanel 컨트롤과 함께 사용하여 정의된 간격으로 부분 페이지 업데이트를 수행할 수 있습니다.

언급된 컨트롤은 웹폼을 생성한 뒤 도구 상자로 가게 될 경우 AJAX 확장이라는 항목에 배치되어 있으며, Visual Studio의 버전이 낮을 경우 별도로 Microsofrt 홈페이지에서 툴킷을 다운받아 추가해줘야 합니다.

 

 

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기