Xcopy 배포를 사용하여 ASP.NET 웹 애플리케이션 배포

이 문서에서는 MS-DOS Xcopy 명령을 사용하여 Microsoft ASP.NET 웹 애플리케이션을 배포하는 방법을 설명합니다.

원래 제품 버전: ASP.NET
원래 KB 번호: 326355

요약

Xcopy 스타일 배포는 모든 상황에 적합하지 않습니다. 대규모 웹 사이트 및 기간 업무 애플리케이션의 경우 사이트를 일시적으로 오프라인으로 전환하는 것이 좋습니다. 새 콘텐츠와 애플리케이션 어셈블리가 배포되는 동안 수행하려고 합니다. 이 유지 관리는 편리하고 예약된 시간에 수행할 수 있습니다. 예약된 가동 중지 시간을 최소화하려면 다음 단계를 수행합니다.

  1. 업데이트하려는 애플리케이션에 대한 새 물리적 디렉터리를 만듭니다. 모든 새 콘텐츠를 새 물리적 디렉터리에 복사합니다.

  2. 새 콘텐츠를 사용하여 새 물리적 디렉터리를 가리키도록 애플리케이션에 대한 가상 디렉터리를 다시 구성합니다.

    참고

    ASP.NET 웹 애플리케이션에 새 콘텐츠를 배포하면 애플리케이션이 다시 시작될 수 있습니다. 메모리 요구 사항이 많은 대규모 애플리케이션과 복잡한 애플리케이션이 있는 경우 메모리 사용량이 증가할 수 있습니다. 애플리케이션을 다시 시작하면 지원 가능성 문제가 발생할 수 있습니다. 여기에는 사용자 세션 상태 손실이 포함됩니다.

Xcopy 배포란?

Xcopy 배포는 Microsoft Windows Explorer, FTP(파일 전송 프로토콜) 또는 DOS Xcopy 명령의 끌어서 놓기 기능을 사용하여 한 위치에서 다른 위치로 파일을 복사하는 ASP.NET 배포에 대해 설명합니다. ASP.NET 애플리케이션은 레지스트리를 수정할 필요가 없으며 호스트 사이트의 호스트 회사에 대한 특별한 설치 요구 사항이 없습니다.

Xcopy 배포의 이점

Xcopy 스타일 파일 전송은 레지스트리 항목을 만들지 않고 구성 요소를 등록하지 않으므로 ASP.NET 사이트의 배포 및 유지 관리를 간소화합니다. Microsoft .NET 애플리케이션은 일반적으로 종속성이 없는 자체 설명입니다. 어셈블리 버전 관리를 사용하면 웹 서버를 중지하지 않고 애플리케이션에서 사용하는 DLL(동적 링크 라이브러리)의 새 복사본을 복사할 수도 있습니다.

Visual Studio .NET에서 Xcopy 배포와 프로젝트 복사의 차이점

Xcopy 배포에서는 개발 컴퓨터 또는 웹 서버에 특별한 소프트웨어를 설치할 필요가 없습니다. Visual Studio .NET Copy Project 메서드를 사용하려면 원격 서버에 Microsoft FrontPage Server Extensions(FPSE)를 설치해야 합니다. 또한 Xcopy를 사용하면 가장 최근에 편집한 파일만 바꿀 수 있습니다. 파일을 수동으로 선택하여 파일을 바꾸거나 명령의 스위치 Xcopy/d 사용하여 다음과 같이 날짜를 지정할 수 있습니다.

xcopy source [destination] /D:m-d-y

가상 디렉터리를 IIS 애플리케이션으로 설정

대상 디렉터리를 아직 설정하지 않은 경우 파일을 전송하기 전에 iiS(Microsoft 인터넷 정보 서비스)에서 애플리케이션으로 설정해야 합니다. 가상 디렉터리를 설정하려면 다음 단계를 수행합니다.

  1. 시작을 클릭하고 프로그램, 관리 도구를 차례로 가리킨 다음 Internet Services Manager를 클릭합니다.
  2. 왼쪽 창에서 가상 디렉터리의 이름을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.
  3. 웹 사이트 이름 또는 가상 디렉터리의 이름이 애플리케이션 설정 아래의 애플리케이션 이름 상자에 나열되어 있는지 확인합니다. 그렇지 않은 경우 만들기를 클릭합니다.

문제 해결

경우에 따라 Xcopy 파일 전송을 통해서만 ASP.NET 웹 애플리케이션의 배포를 완료할 수 없습니다. 이러한 경우는 다음과 같습니다.

  • GAC(전역 어셈블리 캐시)에 설치해야 하는 어셈블리입니다. ASP.NET 여러 애플리케이션 도메인에서 사용하는 어셈블리를 공유해야 하는 경우 Gacutil.exe 유틸리티를 사용하여 해당 어셈블리를 GAC에 등록해야 합니다. 애플리케이션을 배포할 때마다 어셈블리를 등록 취소, 바꾸기 및 다시 등록해야 합니다.

  • COM(구성 요소 개체 모델) Interop. ASP.NET 애플리케이션이 COM interop을 통해 COM 구성 요소를 사용하는 경우 COM+ 서비스에 해당 COM 구성 요소를 등록해야 합니다.

  • 서비스 구성 요소. microsoft에서는 Regsvcs.exe 유틸리티를 사용하여 COM+ 서비스를 사용하는 모든 클래스(클래스에서 System.EnterpriseServices.ServicedComponent 파생됨)를 등록하는 것이 좋습니다.

참조