연습: 웹 사이트 게시
업데이트: 2007년 11월
Microsoft Visual Web Developer 웹 개발 도구의 웹 사이트 게시 유틸리티를 사용하여 웹 사이트를 컴파일한 다음 출력을 활성 웹 사이트로 복사하는 단계별 지침을 제공합니다.
완성된 웹 사이트를 서버에 배포하려면 Microsoft Visual Web Developer 웹 개발 도구에 포함된 웹 사이트 게시 유틸리티를 사용할 수 있습니다. 웹 사이트 게시 유틸리티는 웹 사이트에 있는 페이지와 코드를 미리 컴파일하고 컴파일러 출력을 지정한 폴더에 씁니다. 출력을 대상 웹 서버로 복사한 다음 이 서버에서 응용 프로그램을 실행할 수 있습니다.
참고: |
---|
웹 사이트 게시 유틸리티는 Visual Web Developer Express Edition에서 사용할 수 없습니다. |
이 연습에서 수행할 작업은 다음과 같습니다.
- 웹 사이트 게시 유틸리티를 사용하여 미리 컴파일된 출력 만들기
사전 요구 사항
이 연습을 완료하려면 다음과 같은 요건을 갖추어야 합니다.
Visual Web Developer
Visual Web Developer Express Edition은 웹 사이트 게시 유틸리티를 지원하지 않습니다.
웹 사이트 게시 결과를 테스트할 수 있도록 Microsoft IIS(인터넷 정보 서비스)에 대한 액세스 권한
이 연습에서는 사용자 컴퓨터에서 IIS가 실행되고 있다고 가정합니다. 또는 가상 디렉터리를 만들 권한이 있는 임의의 IIS 인스턴스를 사용할 수 있습니다.
웹 사이트 만들기
연습: Visual Web Developer에서 기본 웹 페이지 만들기를 완료하여 Visual Web Developer에서 웹 사이트를 이미 만들었으면 해당 웹 사이트를 사용하여 다음 단원으로 이동합니다. 그렇지 않으면, 다음 단계를 따라 새 웹 사이트와 페이지를 만듭니다.
이 연습에서는 파일 시스템 웹 사이트를 만듭니다.
파일 시스템 웹 사이트를 만들려면
Visual Web Developer를 엽니다.
파일 메뉴에서 새웹 사이트를 클릭합니다.
새 웹 사이트 대화 상자가 나타납니다.
Visual Studio에 설치되어 있는 템플릿에서 ASP.NET 웹 사이트를 클릭합니다.
맨 왼쪽의 위치 목록에서 파일 시스템을 클릭합니다.
맨 오른쪽 위치 목록에 웹 사이트의 페이지를 보관할 폴더의 이름을 입력합니다.
예를 들어, 폴더 이름 C:\WebSites를 입력합니다.
언어 목록에서 작업할 프로그래밍 언어를 클릭합니다.
확인을 클릭합니다.
Visual Web Developer에서 해당 폴더와 Default.aspx라는 새 페이지를 만듭니다.
테스트 페이지 및 클래스 만들기
이 연습에서는 몇 개의 컨트롤이 있는 웹 페이지를 만듭니다. 웹 페이지에서 사용할 클래스 파일도 만듭니다. 웹 페이지와 별도의 클래스를 모두 만들면 게시 프로세스에서 웹 사이트의 콘텐츠를 미리 컴파일하는 방법을 확인할 수 있습니다.
먼저 새 페이지를 만든 다음 단추와 레이블을 페이지에 추가합니다.
페이지를 만들고 컨트롤을 추가하려면
솔루션 탐색기에서 웹 사이트의 이름을 마우스 오른쪽 단추로 클릭한 다음 새 항목 추가를 클릭합니다.
Visual Studio에 설치되어 있는 템플릿에서 Web Form을 클릭합니다.
이름 상자에 SamplePage.aspx를 입력합니다.
언어 목록에서 작업할 프로그래밍 언어를 클릭합니다.
추가를 클릭합니다.
디자인 뷰로 전환합니다.
도구 상자의 표준 그룹에서 Label 컨트롤을 페이지로 끌어 옵니다.
도구 상자의 표준 그룹에서 Button 컨트롤을 페이지로 끌어와 Label 컨트롤 옆에 놓습니다.
다음에는 단일 속성이 있는 단순 클래스의 소스 코드를 만듭니다. 이 클래스는 페이지 코드에서 사용합니다.
클래스를 만들려면
솔루션 탐색기에서 웹 사이트 이름을 마우스 오른쪽 단추로 클릭하고 ASP.NET 폴더 추가를 가리킨 다음 App_Code를 클릭합니다.
솔루션 탐색기의 응용 프로그램에 App_Code라는 새 폴더가 나타납니다. App_Code 폴더는 특별히 예약된 ASP.NET 응용 프로그램 폴더입니다. 자세한 내용은 ASP.NET 웹 사이트 레이아웃을 참조하십시오.
App_Code 폴더를 마우스 오른쪽 단추로 클릭한 다음 새 항목 추가를 클릭합니다.
Visual Studio에 설치되어 있는 템플릿에서 클래스를 클릭합니다.
이름 상자에 TestClass를 입력합니다.
언어 목록에서 작업할 프로그래밍 언어를 클릭합니다.
참고: 선택한 프로그래밍 언어가 .aspx 페이지에 사용한 프로그래밍 언어와 반드시 같을 필요는 없습니다.
추가를 클릭합니다.
Visual Web Developer에서 지정한 프로그래밍 언어로 기본 클래스 파일을 만듭니다. 클래스 파일 이름의 확장명은 선택한 언어와 일치합니다. 예를 들어, Microsoft Visual Basic으로 클래스를 만드는 경우 파일 이름 확장명은 .vb가 됩니다.
TestProperty라는 속성을 만듭니다.
작업을 마치면 완성된 클래스 파일은 다음과 같습니다.
Imports Microsoft.VisualBasic Public Class TestClass Private TestPropertyValue As String Public Property TestProperty() As String Get Return TestPropertyValue End Get Set(ByVal value As String) TestPropertyValue = value End Set End Property End Class
using System; public class TestClass { public TestClass() { } private string TestPropertyValue; public string TestProperty { get{ return TestPropertyValue; } set{ TestPropertyValue = value; } } }
이제 페이지에서 클래스를 사용할 수 있습니다. 사용하기 전에 클래스 파일을 컴파일할 필요가 없습니다.
페이지 코드에서 클래스를 사용하려면
SamplePage.aspx를 열고 디자인 뷰로 전환합니다.
Button 컨트롤을 두 번 클릭하여 Click 처리기를 만듭니다.
Click 처리기에 이전 절차에서 만든 TestClass 인스턴스를 만들고 TestProperty 속성에 값을 할당한 다음 Label 컨트롤에 TestProperty 값을 표시합니다.
전체 코드는 다음과 같습니다.
Protected Sub Button1_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Dim testClass As New TestClass testClass.TestProperty = "Hello" Label1.Text = testClass.TestProperty End Sub
protected void Button1_Click(object sender, EventArgs e) { TestClass testClass = new TestClass(); testClass.TestProperty = "Hello"; Label1.Text = testClass.TestProperty; }
사이트 테스트
사이트를 게시하기 전에 테스트하여 사이트가 예상대로 실행되는지 확인할 수 있습니다.
웹 사이트를 테스트하려면
SamplePage.aspx 페이지를 엽니다.
Ctrl+F5를 누릅니다.
페이지가 브라우저에 나타납니다.
단추를 클릭하여 텍스트가 Label 컨트롤에 나타나는지 확인합니다.
브라우저를 닫습니다.
웹 사이트 게시
웹 사이트가 완성되면 게시할 수 있습니다. Visual Web Developer에서 지원하는 연결 프로토콜을 사용하는 네트워크나 로컬 컴퓨터에서 액세스 권한이 있는 임의의 위치에 웹 사이트를 게시할 수 있습니다. 웹 사이트 복사 옵션은 다음과 같습니다.
UNC 공유를 사용하여 네트워크의 다른 컴퓨터에 있는 공유 폴더로 복사합니다.
FTP를 사용하여 서버로 복사합니다.
HTTP 프로토콜을 사용하여 Microsoft의 FrontPage 2002 Server Extensions를 지원하는 서버로 복사합니다.
이 연습 단계에서는 웹 사이트를 로컬 폴더에 게시합니다.
웹 사이트를 게시하려면
빌드 메뉴에서 웹 사이트 게시를 클릭합니다.
웹 사이트 게시 대화 상자가 나타납니다.
대상 위치 상자에 c:\CompiledSite를 입력합니다.
주의: 대상 폴더와 하위 폴더의 모든 데이터가 삭제됩니다. 데이터가 포함되어 있거나 데이터가 있는 하위 폴더가 포함된 폴더의 이름을 입력하지 않도록 주의합니다.
이 연습에서는 로컬 폴더에 게시하지만 UNC 공유에 게시할 수도 있습니다. HTTP 또는 FTP를 사용하여 원격 웹 사이트에 게시하려면 대상 위치 상자에서 원격 서버 URL을 지정합니다.
미리 컴파일된 이 사이트를 업데이트할 수 있도록 허용 옵션은 모든 프로그램 코드가 어셈블리로 컴파일되지만 단일 파일 ASP.NET 웹 페이지를 포함한 .aspx 파일은 현재 상태대로 대상 폴더에 복사되도록 지정합니다. 이 연습에서는 해당 옵션을 선택하지 않습니다. 자세한 내용은 웹 사이트 게시를 참조하십시오.
확인을 클릭합니다.
Visual Web Developer에서 웹 사이트의 콘텐츠를 미리 컴파일하고 지정한 폴더에 출력을 씁니다. 출력 창에 진행률이 표시됩니다. 컴파일 중에 오류가 발생하면 출력 창에서 보고됩니다.
게시 중에 오류가 발생하면 오류를 수정한 다음 1단계를 반복합니다.
웹 사이트 게시 명령의 출력 검사
웹 사이트 게시 명령의 출력을 검사하여 Visual Web Developer에서 웹 사이트 파일에 대해 수행한 작업을 확인할 수 있습니다.
웹 사이트 게시 명령의 출력을 검사하려면
Windows 탐색기에서 웹 사이트 게시 명령의 대상으로 지정한 폴더로 이동합니다.
메모장 같은 텍스트 편집기를 사용하여 SamplePage.aspx 파일을 엽니다.
원래 파일에 있던 태그가 파일에 포함되어 있지 않습니다. 대신 .aspx 페이지는 URL의 일부로 사용할 수 있는 자리 표시자일 뿐입니다.
Bin 폴더로 이동합니다.
이 폴더에는 다음 두 가지 형식의 파일이 들어 있습니다.
페이지에 해당하는 .compiled 파일
생성된 클래스 파일과 같은 웹 사이트의 실행 코드가 포함된 .dll 파일
생성된 페이지, 해당 코드 및 별도의 클래스 파일이 모두 실행 코드로 컴파일되었습니다.
게시된 웹 사이트 테스트
이제 게시된 웹 사이트를 실행하여 테스트할 수 있습니다.
게시된 웹 사이트를 테스트하려면
대상 폴더를 가리키는 IIS 가상 디렉터리를 만듭니다.
IIS 관리 도구를 사용하거나 다음 단계를 사용할 수 있습니다.
Windows 탐색기에서 대상 폴더의 이름을 마우스 오른쪽 단추로 클릭하고 공유 및 보안을 클릭합니다.
웹 공유 탭에서 이 폴더를 공유함을 클릭합니다.
별칭 편집 대화 상자가 나타납니다.
필요한 경우 별칭의 이름을 변경합니다.
기본 사용 권한은 읽기 액세스 권한 및 ASP.NET 페이지와 같은 스크립트 실행을 허용합니다.
확인을 클릭하여 별칭 편집 대화 상자를 닫은 다음 확인을 클릭하여 속성 대화 상자를 닫습니다.
브라우저를 열고 다음 URL을 입력합니다.
https://localhost/CompiledSite/SamplePage.aspx
SamplePage.aspx 페이지가 나타납니다. 그러나 이번에는 사전 컴파일러에서 배포를 위해 만든 페이지 버전이 표시됩니다.
다음 단계
이 연습에서는 미리 컴파일된 웹 사이트를 게시하기 위한 기본 절차를 배웠습니다. 다음과 같은 제안을 따르는 것이 좋습니다.
웹 사이트를 현재 상태대로(소스 코드로) 대상 폴더에 복사하는 웹 복사 도구를 대신 사용하여 테스트합니다.
자세한 내용은 웹 사이트 복사 도구를 사용하여 웹 사이트 복사를 참조하십시오.
원격 IIS 웹 사이트에 웹 사이트를 게시합니다.
참고 항목
작업
연습: 웹 사이트 복사 도구를 사용하여 웹 사이트 복사