ASP.NET의 새로운 기능과 웹 개발

업데이트: 2007년 11월

.NET Framework 버전 3.5에서는 특정 대상 영역에 대한 ASP.NET 기능이 향상되었습니다. Visual Studio 2008 및 Microsoft Visual Web Developer Express Edition에도 웹 개발 개선을 위해 향상된 기능과 새 기능이 포함되었습니다.

이 중 가장 중요한 것은 AJAX 사용 웹 사이트 개발에 대한 지원 향상과 LINQ(통합 언어 쿼리)에 대한 지원입니다. 향상된 내용에는 새 서버 컨트롤 및 형식, 새 개체 지향 클라이언트 형식 라이브러리, ECMAScript(JavaScript 또는 JScript) 작업을 위한 Visual Studio 2008 및 Microsoft Visual Web Developer Express Edition의 전체 IntelliSense 지원 등이 포함됩니다.

이 항목의 다음 단원에서는 ASP.NET 및 Visual Web Developer의 변경된 내용에 대해 설명합니다.

.NET Framework 버전 3.5의 다음 영역에서 ASP.NET의 기능이 향상되었습니다.

  • 새 서버 컨트롤, 형식 및 클라이언트 스크립트 라이브러리를 함께 사용하여 AJAX 스타일의 웹 응용 프로그램을 개발할 수 있습니다.

  • 서버 기반 폼 인증, 역할 관리 및 프로필 서비스가 웹 서비스로 확장되어 웹 기반 응용 프로그램에서 사용될 수 있습니다.

  • ListView 데이터 컨트롤은 데이터를 표시하고 쉽게 사용자 지정할 수 있는 UI를 제공합니다.

  • LinqDataSource 컨트롤은 ASP.NET 데이터 소스 컨트롤 아키텍처를 통해 LINQ(통합 언어 쿼리)를 제공합니다.

  • 새 병합 도구(Aspnet_merge.exe)는 미리 컴파일된 어셈블리를 병합하여 유연한 배포 및 릴리스 관리를 지원합니다.

또한 .NET Framework 버전 3.5는 IIS 7.0과 통합되었습니다. 이제 ASP.NET 웹 페이지(.aspx 파일)뿐만 아니라 폼 인증 및 모든 콘텐츠 형식에 대한 캐싱과 같은 ASP.NET 서비스를 사용할 수 있습니다. 이는 ASP.NET과 IIS 7.0이 동일한 요청 파이프라인을 사용하기 때문입니다. 요청 처리 파이프라인이 통합되어 있다는 것은 관리 코드를 사용하여 IIS의 모든 요청과 연동되는 HTTP 파이프라인 모듈을 개발할 수 있다는 의미입니다. 또한 IIS/ASP.NET 모듈 및 처리기는 이제 통합된 구성을 지원합니다. 자세한 내용은 IIS 7.0의 ASP.NET 응용 프로그램 수명 주기 개요를 참조하십시오.

AJAX 개발

.NET Framework 버전 3.5에서는 다시 사용할 수 있는 클라이언트 구성 요소를 활용하여 차세대 사용자 인터페이스를 구현하는 웹 응용 프로그램을 만들 수 있습니다. 요구 사항에 맞게 서버 기반 방식 또는 클라이언트 기반 방식을 사용하거나 두 방식을 적절하게 조합하여 웹 페이지를 개발할 수 있습니다. AJAX 서버 기반 및 클라이언트 기반 프로그래밍 모델에서는 다음을 사용합니다.

  • 서버 기반 AJAX 개발을 지원하는 서버 컨트롤. 이러한 컨트롤에는 ScriptManager, UpdatePanel, UpdateProgressTimer 컨트롤이 있습니다. 이러한 컨트롤을 사용하면 클라이언트 스크립트를 거의 사용하지 않고도 부분 페이지 렌더링, 비동기 포스트백 중 업데이트 진행률 표시 등의 풍부한 클라이언트 동작을 만들 수 있습니다.

  • 브라우저에 종속되지 않는 클라이언트 기반, 개체 지향 개발을 지원하는 Microsoft AJAX 라이브러리. 이 클라이언트 라이브러리를 사용하면 새로운 AJAX 사용 서버 컨트롤을 지원할 수 있을 뿐만 아니라 DOM 요소를 확장하거나 DOM 요소를 표현하는 사용자 지정 클라이언트 구성 요소를 개발할 수 있습니다.

  • 이벤트와 속성이 선언적으로 설정되는 사용자 지정 클라이언트 구성 요소에 매핑되는 서버 컨트롤을 개발할 수 있는 서버 클래스. 이 기능을 지원하는 서버 유형에는 ExtenderControl 또는 ScriptControl 기본 클래스에서 파생된 컨트롤이나 IExtenderControl 또는 IScriptControl 인터페이스를 구현하는 컨트롤이 포함됩니다.

  • 클라이언트 스크립트를 사용한 스크립트 전역화 및 지역화 지원. 전역화를 사용하면 문화권 값(로캘)에 따라 날짜와 숫자를 표시할 수 있습니다. 지역화를 사용하면 UI 요소나 예외 메시지 등과 같은 클라이언트 구성 요소에 지역화된 콘텐츠(텍스트, 이미지 등)를 지정할 수 있습니다.

  • 웹 서비스와 ASP.NET 인증, 역할 관리 및 프로필 응용 프로그램 서비스 액세스

.NET Framework 버전 3.5에서는 페이지에서 비동기 부분 페이지 업데이트를 간편하게 수행할 수 있으므로 전체 페이지를 포스트백하는 오버헤드를 방지할 수 있습니다. 이 기능을 구현하려면 기존 컨트롤과 태그를 UpdatePanel 컨트롤 내부에 배치합니다. UpdatePanel 컨트롤 내부의 포스트백은 비동기 포스트백이 되어 패널 안에 있는 페이지 부분만 새로 고치므로 훨씬 유연한 사용자 환경을 만들 수 있습니다. UpdateProgress 컨트롤을 사용하면 부분 페이지 업데이트의 진행률을 표시할 수 있습니다.

ASP.NET에서 AJAX 개발 방법 배우기

이 설명서에서는 ASP.NET에서 AJAX 스타일의 웹 응용 프로그램을 개발하는 방법을 배우는 데 도움이 되는 광범위한 정보를 제공합니다. 먼저, AJAX 및 클라이언트 기능 추가에 설명된 일련의 항목을 따르십시오.

웹 서비스 및 응용 프로그램 서비스

.NET Framework 버전 3.5에서는 Microsoft AJAX 라이브러리를 사용하여 클라이언트 스크립트의 웹 페이지에서 호출할 수 있는 ASP.NET(.asmx) 및 WCF 기반 웹 서비스를 모두 만들 수 있습니다. 폼 인증, 역할 관리 및 프로필 등과 같은 웹 서비스로 노출되는 서버 기반 응용 프로그램 서비스를 호출할 수도 있습니다. 이러한 응용 프로그램 서비스는 AJAX 사용 웹 페이지 및 Window Forms 클라이언트 등과 같은 WCF 호환 응용 프로그램에서 사용될 수 있습니다. 따라서 이러한 ASP.NET 또는 WCF 기술로 빌드된 응용 프로그램은 응용 프로그램 서비스를 통해 사용할 수 있게 된 정보를 공유할 수 있습니다. 자세한 내용은 ASP.NET AJAX의 웹 서비스ASP.NET 웹 서비스 사용을 참조하십시오.

ListView 데이터 컨트롤

ListView 컨트롤은 기존 데이터 컨트롤의 여러 측면을 결합합니다. ListView 컨트롤은 DataListRepeater 컨트롤과 마찬가지로 모든 반복적인 구조의 데이터를 표시하는 데 유용합니다. 이러한 컨트롤과 달리 ListView 컨트롤은 정렬 및 페이징은 물론 편집, 삽입 및 삭제 작업을 지원합니다. 페이징 기능은 새 DataPager 컨트롤을 통해 ListView에 제공됩니다.

ListView 컨트롤은 사용자 지정할 수 있는 범위가 넓은 컨트롤로서 템플릿 및 스타일을 사용하여 컨트롤의 UI를 정의할 수 있습니다. Repeater, DataListFormView 컨트롤과 같이 ListView 컨트롤의 템플릿은 브라우저에서 특정 UI를 렌더링하도록 미리 정의되어 있지 않습니다. 자세한 내용은 ListView 웹 서버 컨트롤 개요을 참조하십시오.

DataPager 컨트롤

DataPager 컨트롤은 ListView 컨트롤 같이 IPageableItemContainer 인터페이스를 구현하는 컨트롤이 표시하는 데이터를 페이징하는 데 사용됩니다. DataPager 컨트롤은 기본 제공 페이징 UI를 지원합니다. 사용자가 페이지 번호를 기준으로 페이지를 선택할 수 있도록 하는 NumericPagerField 개체를 사용하여 페이징 UI를 지정할 수 있습니다. 사용자가 한 번에 한 페이지씩 탐색하거나 첫 페이지 또는 마지막 페이지로 이동할 수 있도록 하는 NextPreviousPagerField 개체를 사용할 수도 있습니다. 또는 TemplatePagerField 개체를 사용하여 사용자 지정 페이징 UI를 만들 수 있습니다.

LinqDataSource 컨트롤

LinqDataSource 컨트롤은 ASP.NET 데이터 소스 컨트롤 아키텍처를 통해 LINQ(통합 언어 쿼리)를 제공합니다. 데이터를 검색하거나 수정하는 웹 페이지를 만들 때 LINQ에서 제공하는 프로그래밍 모델을 사용하려는 경우 LinqDataSource 컨트롤을 사용합니다. LinqDataSource 컨트롤을 통해 데이터와 상호 작용하는 명령을 자동으로 만들어 웹 페이지의 코드를 간단하게 만들 수 있습니다. LinqDataSource 컨트롤을 사용하면 SqlDataSource 컨트롤 또는 ObjectDataSource 컨트롤에서 동일한 작업을 수행하는 것에 비해 데이터 작업을 수행하기 위해 작성해야 하는 코드의 양을 더 줄일 수 있습니다. LinqDataSource 컨트롤을 사용하는 경우 하나의 프로그래밍 모델만 익히면 다른 데이터 소스 유형과 상호 작용할 수 있다는 장점이 있습니다.

선언 태그를 사용하여 컬렉션과 같은 데이터 수집이나 데이터베이스의 데이터에 연결되는 LinqDataSource 컨트롤을 만들 수 있습니다. 태그에서는 데이터를 표시, 필터링, 순서 지정 및 그룹화하기 위한 기준을 지정할 수 있습니다. 데이터 소스가 SQL 데이터베이스 테이블인 경우에는 LinqDataSource 컨트롤을 구성하여 데이터를 업데이트, 삽입 및 삭제할 수도 있습니다. 이러한 작업을 수행하기 위한 SQL 명령을 작성할 필요가 없습니다. LinqDataSource 클래스에서는 표시 및 업데이트 동작을 사용자 지정할 수 있는 이벤트 모델을 제공합니다. 자세한 내용은 LinqDataSource 웹 서버 컨트롤 개요를 참조하십시오.

ASP.NET 병합 도구

ASP.NET 병합 도구(Aspnet_merge.exe)를 통해 ASP.NET 미리 컴파일 도구(Aspnet_compiler.exe)로 만든 어셈블리를 결합 및 관리할 수 있습니다. 병합 도구는 Visual Studio 2005에 대한 추가 기능으로 출시되었습니다. 병합 도구는 사이트에 대한 단일 어셈블리를 만듭니다. 전체 웹 사이트, 각 웹 사이트 폴더 또는 웹 사이트 UI(페이지 및 컨트롤)를 구성하는 파일만을 위한 어셈블리를 만들 수 있습니다.

자세한 내용은 ASP.NET 병합 도구(Aspnet_merge.exe)를 참조하십시오. ASP.NET 컴파일러 도구에 대한 자세한 내용은 ASP.NET 컴파일 도구(Aspnet_compiler.exe)를 참조하십시오.

다음 단원에서는 Visual Studio 2008 및 Visual Web Developer Express Edition의 향상된 기능과 새 기능에 대한 정보를 제공합니다.

새로운 디자인 뷰 및 CSS 디자인 도구

이제 웹 페이지 디자이너를 사용하여 디자인 뷰, 소스 뷰 또는 분할 뷰에서 작업할 수 있습니다. 분할 뷰는 디자인 뷰와 소스 뷰를 동시에 표시합니다.

Visual Studio에서는 쉽게 CSS 스타일시트 작업을 할 수 있도록 해주는 도구를 제공합니다. CSS 속성 창과 같은 새 UI 도구를 사용하여 디자인 뷰에서 레이아웃 및 스타일 콘텐츠를 디자인할 수 있습니다. WYSIWYG 시각적 레이아웃 도구를 사용하여 디자인 뷰에서 위치, 여백 및 안쪽 여백을 직접 변경할 수도 있습니다.

자세한 내용은 다음 항목을 참조하십시오.

JScript 및 ASP.NET AJAX를 위한 IntelliSense

Visual Studio 2008 및 Visual Web Developer Express Edition은 ECMAScript(JScript 또는 JavaScript)를 코딩하고 Microsoft AJAX 라이브러리를 사용하는 AJAX 스타일의 웹 응용 프로그램에 대한 클라이언트 스크립트를 작성하기 위한 크게 향상된 IntelliSense를 제공합니다. IntelliSense는 script 요소에 있는 클라이언트 스크립트와 참조된 .js 스크립트 파일에 사용할 수 있습니다.

또한 IntelliSense에서 XML 코드 주석을 표시할 수 있습니다. XML 코드 주석은 클라이언트 스크립트의 요약, 매개 변수 및 반환 값 세부 정보를 설명하는 데 사용됩니다. ASP.NET AJAX에서도 XML 코드 주석을 사용하여 ASP.NET AJAX 형식 및 멤버에 대한 IntelliSense 기능을 제공합니다. XML 코드 주석을 사용하는 외부 스크립트 파일 참조에서도 IntelliSense가 지원됩니다.

자세한 내용은 다음 항목을 참조하십시오.

웹 응용 프로그램 프로젝트

Visual Studio 2005의 추가 기능으로 이전에 출시된 웹 응용 프로그램 프로젝트가 Visual Studio로 통합되었습니다. 웹 응용 프로그램 프로젝트 모델을 사용하여 웹 사이트를 Bin 폴더에 있는 하나의 어셈블리로 컴파일하고 프로젝트 리소스를 명시적으로 정의할 수 있습니다.

웹 응용 프로그램 프로젝트 모델은 Visual Studio .NET 2003의 웹 프로젝트와 동일한 프로젝트, 빌드 및 컴파일 의미 체계를 사용합니다. 따라서 Visual Studio .NET 2003 웹 사이트를 Visual Studio의 최신 버전으로 쉽게 마이그레이션할 수 있습니다.

웹 응용 프로그램 프로젝트는 Visual Studio 2005에 도입된 웹 사이트 프로젝트 형식을 대체하지 않습니다. 대신 다른 프로젝트 모델을 제공하여 웹 응용 프로그램을 배포 및 유지 관리할 수 있는 더 많은 옵션을 제공합니다.

참고:

Visual Web Developer Express Edition에서는 웹 응용 프로그램 프로젝트가 지원되지 않습니다.

자세한 내용은 다음 항목을 참조하십시오.

웹 응용 프로그램의 여러 대상 지정

Visual Studio에서는 웹 응용 프로그램의 대상을 특정 .NET Framework 버전으로 지정할 수 있습니다. Visual Studio의 한 인스턴스를 사용하여 .NET Framework 버전 2.0, 3.0(Windows Vista) 및 3.5에 대한 웹 응용 프로그램을 개발할 수 있습니다.

자세한 내용은 다음 항목을 참조하십시오.

LINQ에 대한 디자이너 및 IntelliSense 지원

Visual Studio 2008의 새로운 여러 기능에서는 LINQ(통합 언어 쿼리)를 지원하고 강력한 쿼리 기능을 C# 및 Visual Basic 언어 구문으로 확장합니다. LINQ는 쉽게 배울 수 있는 표준 데이터 쿼리 및 변환 패턴을 사용하며 모든 종류의 데이터 소스를 지원하도록 확장될 수 있습니다. 디자이너는 데이터 클래스의 시각적 표현을 제공하여 데이터베이스의 개체에 매핑되는 클래스를 신속하게 만들고 편집할 수 있도록 해줍니다. IntelliSense 지원은 LINQ 언어 구문에 대한 정보와 소스 뷰에서 LinqDataSource 컨트롤을 사용하기 위한 정보를 제공합니다. 자세한 내용은 LinqDataSource 웹 서버 컨트롤 개요를 참조하십시오.

웹 프로젝트에서 WCF 서비스 만들기 및 사용 지원

Visual Studio에서는 ASP.NET 웹 서비스(.asmx 파일) 및 WCF 웹 서비스(.svc 파일)를 프로젝트에 추가할 수 있습니다. 관리 코드로 작성되는 클라이언트 응용 프로그램은 일반적으로 프록시 클래스를 통해 이러한 웹 서비스에 액세스합니다. 예를 들어 이러한 응용 프로그램은 웹 참조 추가 대화 상자를 사용할 때 Visual Studio에서 생성되는 프록시 클래스를 사용합니다. AJAX 응용 프로그램은 클라이언트 스크립트에서 자동으로 생성되는 프록시 클래스를 사용하여 브라우저에서 웹 서비스에 액세스할 수 있습니다. 자세한 내용은 Web Services Architectural Overview를 참조하십시오.

ASP.NET AJAX Extender 컨트롤 지원

AJAX Extender 컨트롤은 ASP.NET 웹 응용 프로그램에서 표준 웹 서버 컨트롤의 클라이언트 기능을 향상시킵니다. 하나 이상의 Extender를 TextBox 컨트롤, Button 컨트롤 및 Panel 컨트롤과 같은 웹 서버 컨트롤에 바인딩하여 풍부한 웹 기반 사용자 환경을 제공할 수 있습니다.

Visual Studio에서는 모든 ASP.NET AJAX Extender 컨트롤을 지원합니다. 여기에는 직접 만들거나 ASP.NET AJAX Control Toolkit과 같은 소스로부터 추가한 Extender 컨트롤러가 포함됩니다. ASP.NET AJAX Control Toolkit은 ASP.NET 웹 사이트에 있습니다.

참고:

ASP.NET AJAX Control Toolkit은 커뮤니티 지원 라이브러리이며 Microsoft에서 지원하지 않습니다.

자세한 내용은 다음 항목을 참조하십시오.

커뮤니티 추가 항목

표시: