응용 프로그램 경계 정의

ASP 기반 응용 프로그램은 ASP 페이지와 COM 구성 요소의 모음입니다. 응용 프로그램을 정의할 때 인터넷 정보 서비스 스냅인을 사용하여 사용자의 웹 사이트에 응용 프로그램의 시작 디렉터리를 지정합니다. 웹 사이트의 시작 디렉터리에 있는 모는 파일과 폴더는 응용 프로그램의 일부로 간주됩니다. 따라서 디렉터리 구조를 사용하여 응용 프로그램의 영역을 정의하는 응용 프로그램 경계를 구성할 수 있습니다. 웹 사이트 당 응용 프로그램을 둘 이상 가질 수 있고 각 응용 프로그램을 서로 다르게 구성할 수 있습니다.

웹 응용 프로그램을 개발할 때 부딪히는 가장 중요한 작업 중 하나는 ASP 페이지를 하나의 웹 응용 프로그램으로 어셈블하는 방법을 결정하는 것입니다. IIS는 이름 공간이라는 개념을 사용하여 응용 프로그램을 식별합니다. 이름 공간은 메모리 영역을 쉽게 인식할 수 있는 이름과 연결하는 방법으로 파일 그룹 전체를 같은 소속으로 식별합니다. IIS는 가상 디렉터리를 사용하여 응용 프로그램에 대한 이름 공간을 정의합니다. 다음 도표는 이 개념을 보여 줍니다.

응용 프로그램 이름 공간

응용 프로그램 경계 내에 있는 스크립트와 ISAPI 확장 DLL은 하나의 격리 단위를 형성하고 항상 단일 서버 프로세스에서 실행됩니다. IIS 관리자는 IIS와 동일한 서버 프로세스나 풀링된 프로세스(기본 프로세스)에서 응용 프로그램을 실행하거나, 격리된 프로세스에서 실행함으로써 응용 프로그램을 격리할 수 있습니다. 격리된 프로세스에서 실행하는 것은 개발과 테스트 과정에서 유용합니다.

응용 프로그램과 구성 요소 격리에 대한 자세한 내용은 프로세스 격리로 개발 단순화를 참조하십시오.

단일 프로세스에서 응용 프로그램을 실행하는 것 외에도 격리된 프로세스 또는 풀링된 프로세스에서 응용 프로그램을 실행함으로써 구성 요소를 호출하는 .asp 파일에서 구성 요소를 분리할 수 있습니다. 격리된 프로세스는 구성 요소를 디버깅하기에 좋은 구성입니다. 풀링된 프로세스는 많은 수의 격리된 프로세스를 유지하는 데 드는 오버헤드 없이 서버에 대해 뛰어난 보호를 제공합니다. 구성 요소를 자체 프로세스에서 실행하려면 새 응용 프로그램을 작성하고 구성 요소 서비스 관리자를 사용하여 응용 프로그램에 구성 요소를 추가해야 합니다.

응용 프로그램에 사용할 수 있는 구성으로는 다섯 가지가 있습니다.

  1. 모든 .asp 파일과 구성 요소를 IIS와 동일한 프로세스에 넣습니다. 이렇게 하면 가장 빠른 성능을 얻을 수 있습니다.
  2. 모든 .asp 파일과 구성 요소를 한 프로세스에 넣고 IIS를 다른 프로세스에 넣습니다.
  3. 모든 .asp 파일과 구성 요소를 풀링된 프로세스에 넣고 IIS는 다른 프로세스에, 그리고 특수 응용 프로그램을 격리된 프로세스에 넣습니다.
  4. 모든 .asp 파일과 IIS를 한 프로세스에, 구성 요소를 다른 프로세스에 넣습니다.
  5. 모든 .asp 파일, 구성 요소, IIS를 각각의 프로세스에 넣습니다.

프로세스 경계는 상이한 메모리 영역을 나타내기 때문에 이 프로세스 경계 간에 호출하려면 IIS에 의한 추가 작업이 필요합니다. 프로세스 경계 간 호출 메커니즘을 마샬링이라고 합니다. 마샬링된 호출은 단일 프로세스 내의 호출보다 더 느립니다. 따라서 풀링된 응용 프로그램과 격리된 응용 프로그램은 IIS 프로세스를 공유하는 응용 프로그램처럼 성능이 좋지 않습니다.


© 1997-2001 Microsoft Corporation. All rights reserved.