ASP.NET 개요
업데이트: 2007년 11월
ASP.NET은 엔터프라이즈 수준의 웹 응용 프로그램을 최소한의 코딩으로 구축하는 데 필요한 서비스를 포함하는 통합 웹 개발 모델입니다. ASP.NET은 .NET Framework의 일부로 제공되며, ASP.NET 응용 프로그램을 코딩할 때는 .NET Framework의 클래스를 액세스할 수 있습니다. 응용 프로그램은 Microsoft Visual Basic, C#, JScript .NET 및 J#을 포함한 CLR(공용 언어 런타임)와 호환되는 모든 언어로 코딩할 수 있습니다. 이러한 언어를 사용하면 공용 언어 런타임, 형식 안전성, 상속 등을 사용하는 ASP.NET 응용 프로그램을 개발할 수 있습니다.
ASP.NET에는 다음이 포함됩니다.
페이지 및 컨트롤 프레임워크
ASP.NET 컴파일러
보안 인프라
상태 관리 기능
응용 프로그램 구성
상태 모니터링 및 성능 기능
디버깅 지원
XML Web services 프레임워크
확장 가능한 호스팅 환경 및 응용 프로그램 수명 주기 관리
확장 가능한 디자이너 환경
페이지 및 컨트롤 프레임워크
ASP.NET 페이지 및 컨트롤 프레임워크는 ASP.NET 웹 페이지를 동적으로 만들고 렌더링하기 위해 웹 서버에서 실행하는 프로그래밍 프레임워크입니다. ASP.NET 웹 페이지는 모든 브라우저나 클라이언트 장치에서 요청할 수 있고, ASP.NET에서는 HTML과 같은 태그를 요청하는 브라우저에 렌더링합니다. 일반적으로 ASP.NET은 요청하는 브라우저에 맞는 태그를 렌더링하므로 여러 브라우저에 동일한 페이지를 사용할 수 있습니다. 그러나 Microsoft Internet Explorer 6과 같은 특정 브라우저를 대상으로 ASP.NET 웹 페이지를 디자인하여 특정 브라우저의 이점을 활용할 수도 있습니다. ASP.NET에서는 휴대폰, 휴대형 컴퓨터 및 PDA(개인용 정보 단말기) 같은 웹 사용 가능한 장치를 위한 모바일 컨트롤을 지원합니다.
ASP.NET 웹 페이지는 완전히 개체 지향적입니다. ASP.NET 웹 페이지 안에서 속성, 메서드 및 이벤트를 사용하여 HTML 요소에 대해 작업할 수 있습니다. ASP.NET 페이지 프레임워크에서는 서버에서 실행하는 코드에서 클라이언트 이벤트에 응답하기 위한 통일된 모델을 제공하므로 웹 기반 응용 프로그램 고유의 클라이언트와 서버 간 분리를 위한 구현 세부 사항에 신경쓸 필요가 없습니다. 또한 페이지 처리 기간 동안 페이지 및 페이지에 포함된 컨트롤의 상태를 프레임워크에서 자동으로 관리합니다. 자세한 내용은 ASP.NET 웹 페이지 개요를 참조하십시오.
또한 ASP.NET 페이지 및 컨트롤 프레임워크를 사용하면 쉽게 사용할 수 있고 다시 사용할 수 있는 컨트롤에 일반적인 UI 기능을 캡슐화할 수 있습니다. 한 번 작성한 컨트롤은 여러 페이지에서 사용할 수 있으며, 렌더링 중에 배치되는 ASP.NET 웹 페이지에 통합됩니다.
ASP.NET 페이지 및 컨트롤 프레임워크는 또한 테마와 스킨을 통해 웹 사이트의 전반적인 모양과 느낌을 제어할 수 있는 기능을 제공합니다. 사용자는 테마와 스킨을 정의한 다음 이를 페이지 수준이나 컨트롤 수준에 적용할 수 있습니다. 자세한 내용은 ASP.NET 테마 및 스킨 개요를 참조하십시오.
테마 외에도 마스터 페이지를 정의하여 응용 프로그램의 페이지에 일관된 레이아웃을 만들 수 있습니다. 단일 마스터 페이지는 응용 프로그램의 모든 페이지(또는 페이지 그룹)에 적용할 레이아웃과 표준 동작을 정의합니다. 그런 다음 표시하려는 페이지 관련 콘텐츠가 포함된 개별 콘텐츠 페이지를 만들 수 있습니다. 사용자가 콘텐츠 페이지를 요청하면 콘텐츠 페이지가 마스터 페이지와 병합되어 콘텐츠 페이지의 콘텐츠와 마스터페이지의 레이아웃이 조합된 출력을 생성합니다. 자세한 내용은 ASP.NET 마스터 페이지 개요를 참조하십시오.
ASP.NET 컴파일러
모든 ASP.NET 코드가 컴파일되므로 강력한 형식 지정, 성능 최적화 및 초기 바인딩을 비롯한 여러 가지 이점을 얻을 수 있습니다. 코드가 컴파일되고 나면 공용 언어 런타임에서 다시 ASP.NET 코드를 네이티브 코드로 컴파일하므로 성틍이 향상됩니다.
ASP.NET에는 페이지 및 컨트롤을 비롯한 모든 응용 프로그램 구성 요소를 어셈블리로 컴파일하는 컴파일러가 포함되어 있습니다. ASP.NET 호스팅 환경에서는 컴파일된 어셈블리를 사용하여 사용자 요청을 처리할 수 있습니다. 자세한 내용은 ASP.NET 컴파일 개요를 참조하십시오.
보안 인프라
.NET의 보안 기능 외에도 ASP.NET은 사용자 액세스 인증 및 권한 부여와 다른 보안 관련 작업 수행을 위한 고급 보안 인프라를 제공합니다. IIS에서 제공하는 Windows 인증을 사용하여 사용자를 인증하거나, ASP.NET 폼 인증 및 ASP.NET 멤버 자격을 사용하여 자체의 사용자 데이터베이스를 통해 인증을 관리할 수 있습니다. 또한 Windows 그룹 또는 자체의 사용자 지정 역할 데이터베이스를 통해 ASP.NET 역할을 사용하여 웹 응용 프로그램의 기능과 정보에 대한 권한 부여를 관리할 수 있습니다. 응용 프로그램의 필요에 따라 이러한 체계를 간단히 제거 또는 추가하거나 바꿀 수 있습니다. 자세한 내용은 다음 항목을 참조하십시오.
ASP.NET은 항상 특정 Windows ID를 사용하여 실행되므로 NTFS ACL(액세스 제어 목록), 데이터베이스 권한 등의 Windows 기능을 사용하여 응용 프로그램에 보안을 설정할 수 있습니다. ASP.NET의 ID에 대한 자세한 내용은 ASP.NET 프로세스 ID 구성 및 ASP.NET 가장을 참조하십시오.
상태 관리 기능
ASP.NET에서는 고객 정보나 장바구니 내용과 같은 정보를 페이지 요청 간에 저장할 수 있는 고유한 상태 관리 기능을 제공합니다. 응용 프로그램, 세션, 페이지 및 사용자 관련 정보와 개발자 정의 정보를 저장하고 관리할 수 있습니다. 이 정보는 페이지에 있는 컨트롤과 무관할 수도 있고
ASP.NET에서는 분산된 상태 기능을 제공합니다. 이 기능을 사용하면 한 컴퓨터나 여러 컴퓨터에서 동일한 응용 프로그램의 여러 인스턴스 간에 상태 정보를 관리할 수 있습니다. 자세한 내용은 ASP.NET 상태 관리 개요를 참조하십시오.
ASP.NET 구성
ASP.NET 응용 프로그램에서는 웹 서버, 웹 사이트 또는 개별 응용 프로그램의 구성 설정을 정의할 수 있는 구성 시스템을 사용합니다. ASP.NET 응용 프로그램을 배포할 때 구성을 설정할 수 있으며, 작동 중인 웹 응용 프로그램과 서버에 최소한의 영향만 미치면서 언제든지 구성 설정을 추가하거나 수정할 수 있습니다. ASP.NET 구성 설정은 XML 기반 파일에 저장됩니다. 이 XML 파일은 ASCII 텍스트 파일이므로 웹 응용 프로그램의 구성을 쉽게 변경할 수 있습니다. 구성 스키마를 요구 사항에 맞게 확장할 수 있습니다. 자세한 내용은 ASP.NET 구성 개요를 참조하십시오.
상태 모니터링 및 성능 기능
ASP.NET에는 ASP.NET 응용 프로그램의 상태 및 성능을 모니터링할 수 있는 기능이 포함됩니다. ASP.NET 상태 모니터링을 사용하면 응용 프로그램의 상태와 오류 조건에 대한 정보를 제공하는 키 이벤트를 보고할 수 있습니다. 이러한 이벤트는 진단 및 모니터링 특성을 조합하여 로깅된 내용과 로깅 방식을 매우 유연한 방식으로 제공합니다. 자세한 내용은 ASP.NET 상태 모니터링 개요를 참조하십시오.
ASP.NET에서는 응용 프로그램에서 액세스할 수 있는 다음 두 그룹의 성능 카운터를 지원합니다.
ASP.NET 시스템 성능 카운터 그룹
ASP.NET 응용 프로그램 성능 카운터 그룹
자세한 내용은 ASP.NET 응용 프로그램 성능 모니터를 참조하십시오.
디버깅 지원
ASP.NET에서는 런타임 디버깅 인프라를 활용하여 언어 간 및 컴퓨터 간 디버깅을 지원합니다. 관리되는 개체 및 관리되지 않는 개체뿐 아니라 공용 언어 런타임 및 스크립트 언어에서 지원하는 모든 언어를 디버깅할 수 있습니다. 자세한 내용은 ASP.NET 디버깅을 참조하십시오.
또한 ASP.NET 페이지 프레임워크에서 제공하는 추적 모드를 사용하여 ASP.NET 웹 페이지에 계측 메시지를 삽입할 수도 있습니다. 자세한 내용은 ASP.NET 추적의 새로운 기능을 참조하십시오.
XML Web Services 프레임워크
ASP.NET은 XML Web services를 지원합니다. XML Web services는 응용 프로그램이 HTTP 및 XML 메시징과 같은 표준을 사용하여 방화벽을 통해 정보를 교환할 수 있는 비즈니스 기능이 포함된 구성 요소입니다. XML Web services는 특정 구성 요소 기술 또는 개체 호출 규칙으로 제한되지 않습니다. 따라서 프로그램 작성에 사용된 구성 요소 모델, 언어 및 운영 체제에 상관없이 XML Web services에 액세스할 수 있습니다. 자세한 내용은 ASP.NET을 사용하는 XML Web services를 참조하십시오.
확장 가능한 호스팅 환경 및 응용 프로그램 수명 주기 관리
ASP.NET에는 사용자가 페이지와 같은 응용 프로그램 리소스에 처음 액세스하는 시점부터 응용 프로그램이 종료될 때까지 응용 프로그램 수명 주기를 제어하는 확장 가능한 호스팅 환경이 포함됩니다. ASP.NET은 웹 서버(IIS)를 응용 프로그램 호스트로 사용하지만 ASP.NET에서 자체적으로 대부분의 호스트 기능을 제공합니다. ASP.NET의 아키텍처를 사용하면 응용 프로그램 이벤트에 응답하고 사용자 지정 HTTP 처리기와 HTTP 모듈을 만들 수 있습니다. 자세한 내용은 IIS 5.0 및 6.0의 ASP.NET 응용 프로그램 수명 주기 개요를 참조하십시오.
확장 가능한 디자이너 환경
ASP.NET에는 Visual Studio와 같은 비주얼 디자인 도구에서 사용할 웹 서버 컨트롤의 디자이너를 만들 수 있는 향상된 지원이 포함됩니다. 디자이너를 사용하면 컨트롤에 대한 디자인 타임 사용자 인터페이스를 빌드하여 개발자가 비주얼 디자인 도구에서 컨트롤의 속성 및 내용을 구성할 수 있습니다. 자세한 내용은 ASP.NET 컨트롤 디자이너 개요를 참조하십시오.