프로젝트 만들기
작성자 : Erik Reitan
이 자습서 시리즈에서는 웹용 ASP.NET 4.5 및 Microsoft Visual Studio Express 2013을 사용하여 ASP.NET Web Forms 애플리케이션을 빌드하는 기본 사항을 설명합니다. C# 소스 코드가 포함된 Visual Studio 2013 프로젝트는 이 자습서 시리즈와 함께 사용할 수 있습니다.
이 자습서에서는 Visual Studio에서 기본 프로젝트를 만들고, 검토하고, 실행합니다. 그러면 ASP.NET 기능에 익숙해질 수 있습니다. 또한 Visual Studio 환경을 검토합니다.
학습할 내용:
- 새 Web Forms 프로젝트를 만드는 방법
- Web Forms 프로젝트의 파일 구조입니다.
- Visual Studio에서 프로젝트를 실행하는 방법
- 기본 웹 양식 애플리케이션의 다양한 기능입니다.
- Visual Studio 환경을 사용하는 방법에 대한 몇 가지 기본 사항입니다.
프로젝트 만들기
Visual Studio를 엽니다.
Visual Studio의 파일 메뉴에서 새 프로젝트를 선택합니다.
왼쪽에 있는 템플릿 ->Visual C# ->웹 템플릿 그룹을 선택합니다.
가운데 열에서 ASP.NET 웹 애플리케이션 템플릿을 선택합니다.
이 자습서 시리즈에서는 .NET Framework 4.5.2를 사용합니다.프로젝트 이름을 WingtipToys로 지정하고 확인 단추를 선택합니다.
참고
이 자습서 시리즈의 프로젝트 이름은 WingtipToys입니다. 자습서 시리즈 전체에서 제공된 코드가 예상대로 작동할 수 있도록 이 정확한 프로젝트 이름을 사용하는 것이 좋습니다.
인증 변경 단추를 클릭합니다. 개별 사용자 계정을 선택하고 확인 단추를 클릭합니다.
Web Forms 템플릿을 선택하고 확인 단추를 클릭합니다.
프로젝트를 만드는 데 약간의 시간이 걸립니다. 준비가 되면 Default.aspx 페이지를 엽니다.
가운데 창 아래쪽에서 옵션을 선택하여 디자인 보기와 원본 보기 간에 전환할 수 있습니다. 디자인 보기는 거의 WYSIWYG 보기를 사용하여 웹 페이지, master 페이지, 콘텐츠 페이지, HTML 페이지 및 사용자 컨트롤을 ASP.NET 표시합니다. 원본 보기는 편집할 수 있는 웹 페이지의 HTML 태그를 표시합니다.
팁
ASP.NET 프레임워크 이해
ASP.NET Web Forms를 사용하면 친숙한 끌어서 놓기, 이벤트 기반 모델을 사용하여 동적 웹 사이트를 구축할 수 있습니다. 디자인 화면과 수백 개의 컨트롤 및 구성 요소를 통해 데이터 액세스를 지원하는 정교하고 강력한 UI 중심 사이트를 신속하게 빌드할 수 있습니다. Wingtip Toy Store는 ASP.NET Web Forms 기반으로 하지만 이 자습서 시리즈에서 배운 많은 개념은 모든 ASP.NET 적용할 수 있습니다.
ASP.NET 네 가지 기본 개발 프레임워크를 제공합니다.
- ASP.NET Web Forms
Web Forms 프레임워크는 Microsoft Windows Forms(WinForms) 및 WPF/XAML/Silverlight와 같은 선언적 및 제어 기반 프로그래밍을 선호하는 개발자를 대상으로 합니다. WYSIWYG 디자이너 기반 개발 모델을 제공하므로 웹 개발을 위한 RAD(신속한 애플리케이션 개발) 환경을 찾는 개발자에게 인기가 있습니다. 웹 프로그래밍을 익숙하지 않고 기존 Microsoft RAD 클라이언트 개발 도구(예: Visual Basic 및 Visual C#)에 익숙한 경우 HTML 및 JavaScript 경험이 없어도 웹 애플리케이션을 빠르게 빌드할 수 있습니다. - ASP.NET MVC
ASP.NET MVC는 테스트 기반 개발, 문제 분리, IoC(제어 반전) 및 DI(종속성 주입)와 같은 패턴 및 원칙에 관심이 있는 개발자를 대상으로 합니다. 이 프레임워크는 웹 애플리케이션의 비즈니스 논리 계층을 프레젠테이션 계층과 분리하는 것이 좋습니다. - ASP.NET 웹 페이지 2
ASP.NET 웹 페이지 PHP 라인을 따라 간단한 웹 개발 스토리를 원하는 개발자를 대상으로 합니다. 웹 페이지 모델에서는 HTML 페이지를 만든 다음 페이지에 서버 기반 코드를 추가하여 해당 태그가 렌더링되는 방식을 동적으로 제어합니다. 웹 페이지는 경량 프레임워크로 특별히 설계되었으며 HTML을 알고 있지만 광범위한 프로그래밍 경험이 없는 사용자(예: 학생 또는 취미)를 위한 ASP.NET 가장 쉬운 진입점입니다. PHP 또는 유사한 프레임워크를 알고 있는 웹 개발자가 ASP.NET 사용하기 시작하는 좋은 방법이기도 합니다. - ASP.NET 단일 페이지 애플리케이션
ASP.NET SPA(단일 페이지 애플리케이션)는 HTML 5, CSS 3 및 JavaScript를 사용하여 중요한 클라이언트 쪽 상호 작용을 포함하는 애플리케이션을 빌드할 수 있도록 도와줍니다. ASP.NET 및 Web Tools 2012.2 업데이트는 knockout.js 및 ASP.NET Web API 사용하여 단일 페이지 애플리케이션을 빌드하기 위한 새 템플릿을 제공합니다. 새 SPA 템플릿 외에도 새 커뮤니티에서 만든 SPA 템플릿을 다운로드할 수도 있습니다.
ASP.NET 4개의 기본 개발 프레임워크 외에도 이 자습서 시리즈에서는 잘 알고 있어야 하지만 다루지 않는 추가 기술도 제공합니다.
- ASP.NET Web API - 브라우저 및 모바일 디바이스를 포함하여 광범위한 클라이언트에 도달하는 HTTP 서비스를 빌드하기 위한 프레임워크입니다.
- ASP.NET SignalR - 실시간 웹 기능을 쉽게 개발할 수 있는 라이브러리입니다.
프로젝트 검토
Visual Studio에서 솔루션 탐색기 창을 사용하면 프로젝트의 파일을 관리할 수 있습니다. 솔루션 탐색기 애플리케이션에 추가된 폴더를 살펴보겠습니다. 웹 애플리케이션 템플릿은 기본 폴더 구조를 추가합니다.
Visual Studio는 프로젝트에 대한 몇 가지 초기 폴더와 파일을 만듭니다. 이 자습서의 뒷부분에서 작업할 첫 번째 파일은 다음과 같습니다.
최근에 사용한 파일 | 용도 |
---|---|
Default.aspx | 일반적으로 애플리케이션이 브라우저에서 실행될 때 표시되는 첫 번째 페이지입니다. |
Site.Master | 일관된 레이아웃을 만들고 애플리케이션의 페이지에 표준 동작을 사용할 수 있는 페이지입니다. |
Global.asax | ASP.NET 또는 HTTP 모듈에서 발생한 애플리케이션 수준 및 세션 수준 이벤트에 응답하기 위한 코드를 포함하는 선택적 파일입니다. |
Web.config | 애플리케이션에 대한 구성 데이터입니다. |
기본 웹 애플리케이션 실행
기본 웹 애플리케이션은 기본 제공 기능 및 지원을 기반으로 풍부한 환경을 제공합니다. 기본 웹 양식 프로젝트를 변경하지 않고 로컬 웹 브라우저에서 애플리케이션을 실행할 준비가 된 것입니다.
Visual Studio에서 F5 키를 누릅니다.
애플리케이션이 빌드되고 웹 브라우저에 표시됩니다.실행 중인 애플리케이션을 검토했으면 브라우저 창을 닫습니다.
이 기본 웹 애플리케이션에는 Default.aspx(홈), About.aspx 및 Contact.aspx 세 가지 기본 페이지가 있습니다. 이러한 각 페이지는 위쪽 탐색 모음에서 연결할 수 있습니다. 계정 폴더에는 Register.aspx 페이지와 Login.aspx 페이지에 포함된 두 개의 추가 페이지도 있습니다. 이 두 페이지에서는 ASP.NET 멤버 자격 기능을 사용하여 사용자 자격 증명을 만들고 저장하고 유효성을 검사할 수 있습니다.
ASP.NET Web Forms 배경
ASP.NET Web Forms 서버에서 실행되는 코드가 브라우저 또는 클라이언트 디바이스에 대한 웹 페이지 출력을 동적으로 생성하는 Microsoft ASP.NET 기술을 기반으로 하는 페이지입니다. ASP.NET Web Forms 페이지는 스타일, 레이아웃 등의 기능에 대해 올바른 브라우저 규격 HTML을 자동으로 렌더링합니다. Web Forms Microsoft Visual Basic 및 Microsoft Visual C#과 같은 .NET 공용 언어 런타임에서 지원하는 모든 언어와 호환됩니다. 또한 Web Forms 관리되는 환경, 형식 안전성 및 상속과 같은 이점을 제공하는 Microsoft .NET Framework 기반으로 합니다.
ASP.NET Web Forms 페이지가 실행되면 페이지는 일련의 처리 단계를 수행하는 수명 주기를 거치게 됩니다. 이러한 단계에는 초기화, 컨트롤 인스턴스화, 상태 복원 및 유지 관리, 이벤트 처리기 코드 실행 및 렌더링이 포함됩니다. ASP.NET Web Forms 기능에 익숙해지면 원하는 효과에 대한 적절한 수명 주기 단계에서 코드를 작성할 수 있도록 ASP.NET 페이지 수명 주기를 이해하는 것이 중요합니다.
웹 서버는 페이지에 대한 요청을 받으면 페이지를 찾아서 처리하고 브라우저로 보낸 다음 모든 페이지 정보를 삭제합니다. 사용자가 동일한 페이지를 다시 요청하는 경우 서버는 전체 시퀀스를 반복하여 페이지를 처음부터 다시 처리합니다. 다른 방법으로, 서버에는 처리된 페이지가 상태 비정상인 페이지의 메모리가 없습니다. ASP.NET 페이지 프레임워크는 페이지 및 해당 컨트롤의 상태를 유지하는 작업을 자동으로 처리하며 애플리케이션별 정보의 상태를 유지하는 명시적 방법을 제공합니다.
팁
Web Forms 애플리케이션 템플릿의 웹 애플리케이션 기능
ASP.NET Web Forms 애플리케이션 템플릿은 다양한 기본 제공 기능 집합을 제공합니다. Home.aspx 페이지, About.aspx 페이지, Contact.aspx 페이지를 제공할 뿐만 아니라 사용자를 등록하고 웹 사이트에 로그인할 수 있도록 자격 증명을 저장하는 멤버 자격 기능도 포함됩니다. 이 개요에서는 ASP.NET Web Forms 애플리케이션 템플릿에 포함된 일부 기능과 Wingtip Toys 애플리케이션에서 사용되는 방법에 대한 자세한 정보를 제공합니다.
멤버 자격
ASP.NET ID는 애플리케이션에서 만든 데이터베이스에 사용자의 자격 증명을 저장합니다. 사용자가 로그인하면 애플리케이션은 데이터베이스를 읽어 자격 증명의 유효성을 검사합니다. 프로젝트의 계정 폴더에는 멤버 자격의 다양한 부분을 구현하는 파일(등록, 로그인, 암호 변경 및 액세스 권한 부여)이 포함되어 있습니다. 또한 ASP.NET Web Forms OAuth 및 OpenID를 지원합니다. 이러한 인증 향상 기능을 통해 사용자는 Facebook, Twitter, Windows Live 및 Google과 같은 계정에서 기존 자격 증명을 사용하여 사이트에 로그인할 수 있습니다.
기본적으로 템플릿은 웹용 Visual Studio Express 2013과 함께 제공되는 개발 데이터베이스 서버인 SQL Server Express LocalDB의 instance 기본 데이터베이스 이름을 사용하여 멤버 자격 데이터베이스를 만듭니다.
SQL Server Express LocalDB
SQL Server Express LocalDB는 SQL Server 데이터베이스의 많은 프로그래밍 기능과 SQL Server 경량 버전입니다. SQL Server Express LocalDB는 사용자 모드에서 실행되며 설치 필수 구성 요소 목록이 짧은 빠른 제로 구성 설치가 있습니다. Microsoft SQL Server 모든 데이터베이스 또는 Transact-SQL 코드를 업그레이드 단계 없이 SQL Server Express LocalDB에서 SQL Server SQL Azure 이동할 수 있습니다. 따라서 SQL Server Express LocalDB는 모든 버전의 SQL Server 대상으로 하는 애플리케이션에 대한 개발자 환경으로 사용할 수 있습니다. SQL Server Express LocalDB를 사용하면 저장 프로시저, 사용자 정의 함수 및 집계, .NET Framework 통합, 공간 형식 및 SQL Server Compact 사용할 수 없는 다른 기능과 같은 기능을 사용할 수 있습니다.
마스터 페이지
ASP.NET master 페이지는 애플리케이션의 모든 페이지에 대해 일관된 모양과 동작을 정의합니다. master 페이지의 레이아웃은 개별 콘텐츠 페이지의 콘텐츠와 병합하여 사용자가 보는 최종 페이지를 생성합니다. Wingtip Toys 애플리케이션에서는 Site.master master 페이지를 수정하여 Wingtip Toys 웹 사이트의 모든 페이지가 동일한 독특한 로고와 탐색 모음을 공유합니다.
HTML5
ASP.NET Web Forms 애플리케이션 템플릿은 HTML 태그 언어의 최신 버전인 HTML5를 지원합니다. HTML5는 웹 사이트를 더 쉽게 만들 수 있는 새로운 요소와 기능을 지원합니다.
Modernizr
HTML5를 지원하지 않는 브라우저의 경우 Modernizr를 사용할 수 있습니다. Modernizr는 브라우저에서 HTML5 기능을 지원하는지 여부를 감지하고 지원하지 않는 경우 사용하도록 설정할 수 있는 오픈 소스 JavaScript 라이브러리입니다. ASP.NET Web Forms 애플리케이션 템플릿에서 Modernizr는 NuGet 패키지로 설치됩니다.
부트스트랩
Visual Studio 2013 프로젝트 템플릿은 Twitter에서 만든 레이아웃 및 테마 프레임워크인 부트스트랩을 사용합니다. 부트스트랩은 CSS3을 사용하여 반응형 디자인을 제공합니다. 즉, 레이아웃이 다양한 브라우저 창 크기에 동적으로 적응할 수 있습니다. 부트스트랩의 테마 기능을 사용하여 애플리케이션의 모양과 느낌에 변화를 쉽게 적용할 수도 있습니다. 기본적으로 Visual Studio 2013 ASP.NET 웹 애플리케이션 템플릿에는 부트스트랩이 NuGet 패키지로 포함됩니다.
NuGet 패키지
ASP.NET Web Forms 애플리케이션 템플릿에는 NuGet 패키지 집합이 포함되어 있습니다. 이러한 패키지는 오픈 소스 라이브러리 및 도구의 형태로 구성 요소화된 기능을 제공합니다. 애플리케이션을 만들고 테스트하는 데 도움이 되는 다양한 패키지가 있습니다. Visual Studio를 사용하면 NuGet 패키지를 쉽게 추가, 제거 및 업데이트할 수 있습니다. 개발자는 NuGet에 패키지를 만들고 추가할 수도 있습니다.
패키지를 설치할 때 NuGet은 파일을 솔루션에 복사하고 참조 추가 및 웹 애플리케이션과 연결된 구성 변경 등 필요한 모든 변경 내용을 자동으로 수행합니다. 라이브러리를 제거하려는 경우 NuGet은 파일을 제거하고 프로젝트에서 변경한 내용을 반대로 변경하여 혼란이 남지 않도록 합니다. NuGet은 Visual Studio의 도구 메뉴에서 사용할 수 있습니다.
jQuery
jQuery 는 빠른 웹 개발을 위해 HTML 문서 트래버스, 이벤트 처리, 애니메이션 및 Ajax 상호 작용을 간소화하는 빠르고 간결한 JavaScript 라이브러리입니다. jQuery JavaScript 라이브러리는 ASP.NET Web Forms 애플리케이션 템플릿에 NuGet 패키지로 포함됩니다.
눈에 거슬리지 않는 유효성 검사
기본 제공 유효성 검사기 컨트롤은 클라이언트 쪽 유효성 검사 논리에 눈에 거슬리지 않는 JavaScript를 사용하도록 구성되었습니다. 이렇게 하면 페이지 태그에서 인라인으로 렌더링되는 JavaScript의 양이 크게 줄어들고 전체 페이지 크기가 줄어듭니다. 눈에 거슬리지 않는 유효성 검사는 애플리케이션의 루트에 있는Web.config파일의 appSettings> 요소에 있는 <설정에 따라 ASP.NET Web Forms 애플리케이션 템플릿에 전역적으로 추가됩니다.
Entity Framework Code First
ASP.NET Web Forms 애플리케이션 템플릿의 기능 외에도 Wingtip Toys 애플리케이션은 데이터로 작업할 때 코드 중심 개발을 가능하게 하는 NuGet 라이브러리인 Entity Framework Code First를 사용합니다. 간단히 말해서, 작성하는 코드에 따라 애플리케이션의 데이터베이스 부분을 만듭니다. Entity Framework를 사용하여 강력한 형식의 개체로 데이터를 검색하고 조작합니다. 이렇게 하면 데이터에 액세스하는 방법에 대한 세부 정보보다는 애플리케이션의 비즈니스 논리에 집중할 수 있습니다.
ASP.NET Web Forms 템플릿에 포함된 설치된 라이브러리 및 패키지에 대한 자세한 내용은 설치된 NuGet 패키지 목록을 참조하세요. 이렇게 하려면 Visual Studio에서 새 Web Forms 프로젝트를 만들고 도구 >NuGet 패키지 관리자>솔루션용 NuGet 패키지 관리를 선택하고 NuGet 패키지 관리 대화 상자에서 설치된 패키지를 선택합니다.
Visual Studio 둘러보기
Visual Studio의 기본 창에는 솔루션 탐색기, 서버 Explorer(Express의 데이터베이스 Explorer), 속성 창, 도구 상자, 도구 모음 및 문서 창이 포함됩니다.
Visual Studio에 대한 자세한 내용은 Visual Web Developer에 대한 시각적 가이드를 참조하세요.
요약
이 자습서에서는 기본 Web Forms 애플리케이션을 만들고, 검토하고, 실행했습니다. 기본 웹 양식 애플리케이션의 다양한 기능을 검토하고 Visual Studio 환경을 사용하는 방법에 대한 몇 가지 기본 사항을 알아보았습니다. 다음 자습서에서는 데이터 액세스 계층을 만듭니다.