웹 사이트 게시
업데이트: 2007년 11월
Visual Web Developer를 사용하면 웹 사이트를 게시하여 사이트를 컴파일하고 사용자가 지정한 위치(예: 프로덕션 서버)에 출력을 복사할 수 있습니다. 게시하면 다음과 같은 작업이 수행됩니다.
페이지, App_Code 폴더의 소스 코드 등을 실행 가능한 출력으로 미리 컴파일합니다.
실행 가능한 출력을 대상 폴더에 작성합니다.
참고: |
---|
Visual Web Developer Express Edition에서는 웹 사이트 게시 유틸리티를 사용할 수 없습니다. |
웹 사이트를 게시하면 단순히 웹 사이트를 대상 웹 서버에 복사하는 것에 비해 다음과 같은 이점이 있습니다.
미리 컴파일 프로세스를 통해 컴파일 오류를 발견하고 구성 파일에서 오류를 식별할 수 있습니다.
페이지가 이미 컴파일되어 있으므로 개별 페이지의 초기 응답 속도가 더 빠릅니다. 페이지를 먼저 컴파일하지 않고 사이트에 복사하는 경우 해당 페이지는 처음 요청될 때 컴파일되며 컴파일된 출력이 캐시됩니다.
프로그램 코드가 사이트와 함께 배포되지 않으므로 파일의 보안을 유지할 수 있습니다. 사이트를 게시할 때 태그 보호 기능을 사용하여 .aspx 파일을 컴파일하거나, 태그 보호 기능을 제외하여 .aspx 파일을 있는 그대로 사이트에 복사하고 배포 후에 레이아웃을 변경할 수 있습니다.
참고: GAC에 등록되어 있는 사용자 지정 구성 요소에 대한 참조가 포함된 응용 프로그램을 게시하는 경우 구성 요소는 응용 프로그램과 함께 게시되지 않습니다. 자세한 내용은 방법: 웹 사이트의 .NET 또는 COM 구성 요소에 대한 참조 추가를 참조하십시오.
자세한 내용은 ASP.NET 미리 컴파일 개요를 참조하십시오.
미리 컴파일
웹 사이트를 게시하려면 먼저 해당 사이트를 미리 컴파일해야 합니다. 게시를 위한 미리 컴파일은 현재 위치에서 미리 컴파일(Visual Web Developer에서는 빌드라고 함)하는 것과 약간 다릅니다. 미리 컴파일은 브라우저에서 요청되는 페이지를 동적으로 컴파일할 때 일반적으로 발생하는 것과 동일한 컴파일 프로세스를 수행합니다. 프리컴파일러는 태그와 코드를 모두 포함하여 페이지를 기반으로 어셈블리를 생성합니다. 또한 App_Code, App_GlobalResources, App_LocalResources 및 App_Themes 폴더의 파일도 컴파일합니다.
단일 파일 ASP.NET 페이지와 코드 숨김 페이지를 모두 컴파일할 수 있습니다. 이러한 두 모델에 대한 내용은 ASP.NET 웹 페이지 코드 모델을 참조하십시오.
미리 컴파일과 빌드 간의 선택
게시할 때 수행하는 미리 컴파일 단계는 웹 사이트를 테스트하기 위해 빌드하는 경우에 발생하는 컴파일과 다릅니다. 빌드하면 사이트 또는 현재 페이지와 종속 파일이 컴파일된 다음 실행됩니다. 빌드 프로세스는 테스트의 한 유형이며 배포 가능한 출력을 생성하지 않습니다. 반면에 게시 중에 미리 컴파일을 수행하면 프로덕션 서버에 배포할 수 있는 출력이 특정 폴더에 만들어집니다.
미리 컴파일 출력 작성
미리 컴파일 프로세스가 끝나면 사용자가 지정한 폴더에 결과 출력이 작성됩니다. FTP(파일 전송 프로토콜)를 사용하거나 HTTP를 통해 파일 시스템에서 액세스할 수 있는 모든 폴더에 출력을 작성할 수 있습니다. 대상 사이트에 쓸 수 있게 하려면 적절한 권한이 있어야 합니다.
참고: |
---|
게시 프로세스를 수행하면 웹 사이트 폴더와 하위 폴더의 파일만 배포되고 Machine.config 파일은 배포되지 않습니다. 따라서 대상 웹 서버의 구성이 사용자 컴퓨터의 구성과 다를 수 있으며 이로 인해 응용 프로그램 동작에 영향을 줄 수 있습니다. |
스테이징 서버 또는 프로덕션 서버에 대상 폴더를 지정하거나 로컬 컴퓨터의 폴더에 출력을 작성할 수 있습니다. 프로덕션 서버에 폴더를 지정하면 미리 컴파일과 배포 작업을 한 번에 수행할 수 있습니다. 그러나 웹 사이트에 포함되지 않은 폴더에 출력을 작성하도록 선택하면 별도의 단계를 통해 출력을 서버에 복사할 수 있습니다.
참고: |
---|
Visual Studio를 사용하여 미리 컴파일된 웹 사이트를 여는 경우 해당 웹 사이트를 빌드할 수 없으며 빌드 옵션이 해제됩니다. 원래 웹 사이트에서 파일을 편집하고 사이트를 미리 컴파일한 다음 다시 게시하는 것이 좋습니다. |
컴파일 프로세스의 출력에는 코드 또는 페이지에 대한 컴파일된 어셈블리가 포함됩니다. 미리 컴파일된 사이트를 업데이트할 수 있도록 하는 옵션을 선택하면 .aspx, .asmx 및 .ashx 파일의 코드 숨김 클래스가 어셈블리로 컴파일됩니다. 그러나 .aspx, .asmx 및 .ashx 파일 자체는 현재 상태 그대로 대상 폴더에 복사되므로 사이트를 배포한 후에 파일 레이아웃을 변경할 수 있습니다. 업데이트 가능한 미리 컴파일된 사이트의 경우 단일 파일 페이지의 코드는 어셈블리로 컴파일되지 않지만 대신 소스 코드로 배포됩니다.
정적 파일은 컴파일되지 않습니다. 대신 현재 상태 그대로 출력 폴더에 복사됩니다. 정적 파일에는 그래픽 파일, .htm 또는 .html 파일, 텍스트 파일 등이 포함됩니다.
미리 컴파일 중에 오류가 발생하면 출력 창과 오류 목록 창에 보고됩니다. 이런 경우에는 사이트의 컴파일 및 게시 작업이 실행되지 않습니다.