IIS 8.0 ASP.NET 3.5 및 ASP.NET 4.5 사용

작성자: 원유

호환성

버전 주의
IIS 8.0 ASP.NET 3.5 및 ASP.NET 4.5는 IIS 8.0에서 지원됩니다.
IIS 7.5 ASP.NET 3.5 및 ASP.NET 4.5는 IIS 7.5에서 지원됩니다.
IIS 7.0 ASP.NET 3.5 및 ASP.NET 4.5는 IIS 7.0에서 지원됩니다.

문제

Windows Server 2012에는 기본적으로 .NET Framework 4.5와 .NET 3.5 Framework의 선택적 설치가 포함됩니다. 개발자는 여러 .NET Framework 버전에서 혼합 웹 애플리케이션을 실행해야 하는 경우가 많습니다.

솔루션

Windows Server 2012의 IIS 8.0은 Windows Server 2012에서 지원되는 모든 .NET Framework 버전에서 ASP.NET 애플리케이션을 실행합니다. 즉, ASP.NET 애플리케이션은 .NET Framework 3.5 또는 .NET Framework 4.5를 사용하여 IIS 8.0에서 실행할 수 있습니다. IIS 8.0은 여러 애플리케이션 풀에서 .NET Framework 버전을 호스트하므로 다른 .NET Framework 버전을 사용하는 여러 ASP.NET 애플리케이션이 Windows Server 2012에서 동시에 실행되도록 허용합니다.

또한 IIS 8.0은 그래픽 IIS 관리자 도구와 IIS의 명령줄 관리 도구를 모두 사용하여 ASP.NET 3.5 및 ASP.NET 4.5 애플리케이션을 모두 관리할 수 있습니다. 자세한 내용은 IIS 8.0 ASP.NET 구성 관리 문서를 참조하세요.

단계별 지침

필수 조건

  • IIS는 Windows Server 2012에 설치됩니다. IIS 8 설치에 대한 자세한 내용은 Windows Server 2012에 IIS 8 설치를 참조하세요.

ASP.NET 3.5 및 ASP.NET 4.5를 지원하는 IIS 8.0 설정

Windows Server 2012에서 .NET Framework 3.5 및 .NET Framework 4.5는 운영 체제에서 기본적으로 인식됩니다. 즉, UI 기반 및 명령줄 기반 설정을 모두 사용하여 두 버전의 .NET Framework를 켜고 두 버전의 ASP.NET IIS 8.0을 통합할 수 있습니다.

이 연습에서는 Windows Server 2012 Server의 새 서버 관리자 UI를 사용하여 IIS 8.0에서 ASP.NET 3.5 및 ASP.NET 4.5를 모두 사용하도록 설정하는 방법을 보여 줍니다.

  1. 새 Windows Server 2012 컴퓨터에 처음 로그인하면 새 서버 관리자 UI가 표시됩니다. 아래와 같이 역할 추가를 클릭합니다.
    역할 추가가 강조 표시된 새 서버 관리자 U I의 스크린샷

  2. 역할 및 기능 추가 마법사의 첫 번째 화면에서 다음을 클릭합니다. 원하는 설치 유형을 선택하는 페이지가 표시됩니다. 아래와 같이 역할 기반 또는 기능 기반 설치를 선택합니다.
    역할 기반 또는 기능 기반 설치 옵션이 강조 표시된 역할 및 기능 추가 마법사의 스크린샷

  3. 다음을 클릭합니다 . 마법사의 다음 화면에서 구성 중인 서버를 선택하라는 메시지가 표시됩니다.

  4. 다음 마법사 단계에서 하나 이상의 서버 역할을 선택하라는 메시지가 표시됩니다. 역할 목록에서 아래로 스크롤하고 아래와 같이 웹 서버(IIS) 검사 상자를 검사 합니다.
    웹 서버 I가 검사 강조 표시된 역할 및 기능 추가 마법사의 서버 역할 목록 스크린샷

  5. 다음을 클릭하여 다음 단계를 진행합니다. 그러면 서버에 설치할 추가 특정 기능을 선택할 수 있습니다. 다음을 다시 클릭하고 다음 단계를 진행합니다.

  6. 다음 마법사 단계에서는 웹 서버(IIS) 역할에 대한 몇 가지 소개 정보를 표시합니다. 다음을 다시 클릭하고 다음 단계를 진행합니다. 이제 다음과 같은 마법사 단계를 수행해야 합니다.
    관리 도구가 강조 표시된 웹 서버 I S에서 선택하고 설치할 역할 서비스 목록의 스크린샷

  7. 이전에 웹 서버(IIS) 서버 역할을 선택했기 때문에 IIS에 대한 여러 기본 하위 기능이 이미 켜져 있습니다. 그러나 iiS 8.0에서 ASP.NET 3.5 및 ASP.NET 4.5를 모두 실행할 수 있도록 하려면 몇 가지 추가 IIS 관련 기능을 사용하도록 설정해야 합니다. 애플리케이션 개발 노드가 표시될 때까지 역할 서비스 목록에서 아래로 스크롤합니다. 이 노드는 처음에 축소되고 노드를 클릭하고 자식이 표시되도록 확장합니다.
    애플리케이션 개발 노드가 강조 표시된 Role Services 목록의 스크린샷

  8. 애플리케이션 개발 노드는 IIS와 ASP.NET 통합을 사용하도록 설정하는 곳입니다. 기능 목록에 비슷한 이름의 몇 검사 상자가 있습니다. 이 연습에 관심 있는 검사box 쌍은 다음과 같습니다.

    • ASP.NET 3. 5 - 이 옵션을 사용하면 IIS 8.0에서 ASP.NET 3.5를 실행할 수 있습니다. Windows Server 2012에서는 .NET Framework 3.5를 기본 OS 이미지의 일부로 사용할 수 없습니다. 대신, 페이로드는 인터넷에서 다운로드되고 인터넷에 연결해야 합니다.
    • ASP.NET 4.5 - 이 옵션을 사용하면 IIS 8.0에서 ASP.NET 4.5를 실행할 수 있습니다.
  9. 먼저 ASP.NET 3.5 검사 상자를 클릭합니다. 이렇게 하면 아래와 같이 추가 대화 상자가 팝업됩니다.
    S P 점 NET 3 점 5에 필요한 기능 추가에 대한 질문이 있는 대화 상자의 스크린샷.

  10. ASP.NET 3.5는 Windows Server 2012 설치에 통합되므로 Windows Server 2012는 IIS 8.0에서 ASP.NET 3.5를 사용하도록 설정하는 데 필요한 모든 관련 종속성을 알고 있습니다. 이 팝업 대화 상자는 자동으로 끌어오고 설치되는 항목을 보여 줍니다. ASP.NET 3.5를 사용하도록 설정하려면 필요한 기능 추가를 클릭합니다.

  11. 다음으로 역할 서비스 기능 목록에서 ASP.NET 4.5 검사 상자를 클릭합니다. 두 ASP.NET 관련 검사box를 모두 클릭한 최종 결과는 다음과 같습니다.
    S P 점 NET 4포인트 5가 검사 강조 표시된 Role Services 기능 목록의 스크린샷

  12. ASP.NET 3.5ASP.NET 4.5 기능만 직접 선택했지만 마법사는 자동으로 여러 다른 항목을 켭니다. 개발자가 Windows Server 2012에서 ASP.NET "어셈블리"하는 데 필요한 다양한 구성 요소를 명시적으로 선택할 필요가 없도록 자동으로 수행됩니다. 이때 [다음]을 클릭하여 변경 내용을 적용합니다.

  13. 설치 확인 선택 단계에서는 변경 내용을 수락하는 경우 설치된 모든 기능 목록을 표시합니다.
    확인과 함께 수락된 변경 내용이 강조 표시된 경우 설치된 모든 기능 목록을 표시하는 설치 선택 확인 스크린샷

  14. 이 시점에서 설치를 클릭하여 변경 내용을 적용하고 Windows Server 2012에 전체 ASP.NET 지원을 설치합니다.

  15. 설치를 완료하는 데 약간의 시간이 걸리므로 설치가 진행되는 동안 마법사에 진행률 대화 상자가 표시됩니다.
    결과 항목이 강조 표시된 작업 진행률을 보여 주는 설치 진행률 대화 상자의 스크린샷

  16. 몇 분 후에 마법사에서 설치가 완료되었음을 표시합니다.
    역할 및 기능 추가 마법사에서 설치가 성공했음을 보여 주는 설치 진행률의 스크린샷

  17. 이때 닫기를 클릭하고 마법사를 종료할 수 있습니다.

IIS 8.0 설치 탐색

IIS 8.0 및 ASP.NET 통합이 모두 설치되어 있으므로 IIS 8.0의 기본 ASP.NET 공간을 살펴볼 수 있습니다.

  1. Windows 시작 메뉴 모든 프로그램을 선택한 다음, 관리시제 도구 메뉴를 확장합니다. 결과 목록에서 IIS(인터넷 정보 서비스) 관리자를 찾아서 선택하여 그래픽 IIS 관리 도구를 시작합니다.
    인터넷 정보 서비스 I S 관리자가 강조 표시된 관리istrative Tools 메뉴의 스크린샷

  2. IIS 관리자가 시작되면 왼쪽 창에서 서버 노드를 확장하여 애플리케이션 풀 노드와 사이트 노드가 모두 표시되도록 합니다. 이렇게 하면 IIS 관리자가 최신 웹 플랫폼 구성 요소와 연결 상태를 유지할지 묻는 대화 상자가 팝업됩니다. 이 연습에서는 아니요를 클릭할 수 있습니다. 이 시점에서 IIS 관리자는 다음 그림과 같습니다.
    웹 플랫폼 설치 관리자가 강조 표시되어 확장된 애플리케이션 풀 노드 및 사이트 노드를 보여 주는 I S 관리자의 스크린샷

  3. 애플리케이션 풀 노드를 클릭하여 IIS 8.0에서 사용하도록 설치된 애플리케이션 풀을 표시합니다.
    I S 8 dot 0에서 사용하기 위해 설치된 애플리케이션 풀 목록이 있는 애플리케이션 풀 노드의 스크린샷

  4. IIS 8.0에 대해 ASP.NET 3.5 및 ASP.NET 4.5가 모두 사용하도록 설정된 경우 기본적으로 6개의 다른 애플리케이션 풀이 만들어지는 것을 볼 수 있습니다. IIS 8.0에는 4개의 애플리케이션이 새로 추가되었으며, 이전 Windows 릴리스에서 두 개의 다른 애플리케이션 풀이 전달되었습니다.

    • .NET Framework 버전 열에 .NET Framework 버전에 대해 "v2.0" 및 "v4.0"이 표시되지만 이러한 열은 ASP.NET 3.5 및 ASP.NET 4.5와 같습니다. 애플리케이션 풀이 .NET Framework 버전에 바인딩되는 방식의 내부 때문에 구성에 기록되고 도구에 표시되는 실제 버전 이름은 원래 .NET Framework 파일 버전에 해당합니다.
    • 클래식 .NET AppPoolDefaultAppPool 은 이전 버전의 Windows에 존재하므로 IIS 8.0용으로 계속 만들어집니다. 그러나 .NET Framework 4.5는 Windows Server 2012에서 사용할 기본 .NET Framework이므로 IIS 8.0의 "DefaultAppPool"은 기본적으로 최신 버전의 .NET Framework를 사용하는 것입니다.
    • 다른 4개의 애플리케이션 풀은 Windows Server 2012의 새로운 기능입니다. .NET Framework 3.5(.NET v2.0 및 .NET v2.0 클래식)를 실행하기 위한 두 개의 애플리케이션 풀과 .NET Framework 4.5(.NET Framework 4.5 및 .NET Framework 4.5 클래식)를 실행하기 위한 두 개의 애플리케이션 풀이 있습니다.
    • "클래식" 및 "클래식이 아닌" 애플리케이션 풀 간의 차이점은 각 애플리케이션 풀 유형에서 지원되는 관리되는 파이프라인 모드입니다. "클래식"으로 끝나는 두 애플리케이션 풀은 ASP.NET 이전 Windows Server 2003 시대 클래식 파이프라인 모드를 지원하는 반면, 다른 두 애플리케이션 풀은 Vista/IIS7.0에 도입된 ASP.NET 최신 통합 파이프라인 모드를 사용합니다.
  5. 좀 더 자세히 살펴보면 기본 웹 사이트 노드가 표시되도록 화면 왼쪽의 사이트 노드를 확장합니다.
    기본 웹 사이트 노드가 강조 표시된 사이트 고개를 끄덕인 스크린샷

  6. IIS의 기본 설치에는 항상 포트 80에서 HTTP 요청을 수신 대기하도록 구성된 "기본 웹 사이트"가 있습니다. "기본 웹 사이트"를 드릴하여 기본적으로 지원하는 ASP.NET 버전을 확인합니다. 기본 웹 사이트를 마우스 오른쪽 단추로 클릭한 다음 웹 사이트 관리를 선택하고 아래와 같이 고급 설정 선택합니다.
    웹 사이트 관리 및 고급 설정 선택 및 강조 표시된 기본 웹 사이트 홈의 스크린샷

  7. 고급 설정 대화 상자가 나타나 "기본 웹 사이트"를 실행하는 데 사용된 애플리케이션 풀을 보여 줍니다. 아래 그림과 같이 "DefaultAppPool"이라는 애플리케이션 풀에서 "기본 웹 사이트"가 실행됩니다.
    애플리케이션 풀 및 기본 앱 풀이 강조 표시된 고급 설정 대화 상자의 스크린샷

  8. 애플리케이션 풀의 오른쪽에 있는 작은 줄임표 단추를 클릭하면 "DefaultAppPool"에 대한 자세한 정보를 표시하는 추가 대화 상자가 나타납니다. 앞에서 설명한 것처럼 "DefaultAppPool"은 IIS 8.0에 대해 ASP.NET 4.5로 기본 설정되므로 "기본 웹 사이트"에 배포된 ASP.NET 4.5 애플리케이션은 추가 구성 없이 작동합니다.
    애플리케이션 풀의 기본 앱 풀 및 해당 속성을 표시하는 애플리케이션 풀 선택 대화 상자의 스크린샷

  9. 이때 [취소]를 클릭하여 [애플리케이션 풀 선택] 대화 상자와 [고급 설정] 대화 상자를 모두 취소합니다.

ASP.NET 3.5 및 ASP.NET 4.5 애플리케이션 실행

이제 IIS 8.0의 설정 상태를 살펴보기 위해 몇 가지 샘플 ASP.NET 코드를 실행하여 ASP.NET 3.5 및 ASP.NET 4.5 애플리케이션이 단일 IIS 8.0 설치에서 동시에 실행될 수 있는지 확인합니다.

ASP.NET 3.5 및 ASP.NET 4.5 모두에 대한 샘플 코드는 다음 .zip 포함되어 있습니다.

예제 점 zip 파일의 스크린샷.

먼저 IIS 8.0에서 간단한 ASP.NET 3.5 애플리케이션을 설정합니다.

  1. "examples.zip" 파일을 엽니다.

  2. Windows Server 2012 컴퓨터의 Windows 탐색기에서 IIS 설치를 위한 "wwwroot" 디렉터리로 이동합니다. 예를 들어 C:\ 드라이브에 IIS를 설치한 경우 "wwwroot" 디렉터리가 c:\inetpub\wwwroot있습니다.

  3. "examples.zip" 폴더 "example35"를 복사하여 디렉터리에 붙여넣습니다 c:\inetpub\wwwroot. 완료되면 디렉터리 구조는 다음과 같아야 합니다.
    예제 35 폴더가 강조 표시된 C 드라이브의 로컬 디렉터리 스크린샷

  4. 새로 만든 "example35" 폴더는 IIS 관리자에서 ASP.NET 3.5 애플리케이션으로 구성해야 합니다. IIS 관리자 창으로 돌아가서 기본 웹 사이트 노드를 클릭하고 새로 고침을 선택합니다. 이제 기본 웹 사이트에서 자식 노드의 트리 뷰에 "example35" 폴더가 표시됩니다.
    예제 35 폴더가 강조 표시된 기본 웹 사이트 노드 아래의 자식 노드 트리 뷰 스크린샷

  5. example35 폴더를 마우스 오른쪽 단추로 클릭하고 애플리케이션으로 변환을 선택합니다.
    예제 35 폴더를 마우스 오른쪽 단추로 클릭하고 애플리케이션으로 변환 옵션을 선택하고 강조 표시한 스크린샷

  6. 애플리케이션 추가 대화 상자가 나타납니다. 기본적으로 기본 웹 사이트의 모든 디렉터리 DefaultAppPool이라는 애플리케이션 풀의 일부입니다. 즉, ASP.NET 포함하는 새로 만든 폴더는 기본적으로 ASP.NET 4.5 애플리케이션으로 실행됩니다.
    애플리케이션 풀 및 기본 앱 풀이 선택 단추 옆에 강조 표시된 애플리케이션 추가 대화 상자의 스크린샷

  7. example35 폴더를 ASP.NET 3.5 애플리케이션으로 실행하려면 애플리케이션 풀을 변경해야 합니다. 선택을 클릭하면 애플리케이션 풀 선택 대화 상자가 나타납니다. 아래와 같이 애플리케이션 풀을 .NET v2.0 으로 변경합니다.
    메뉴 모음에서 점 NET v 2포인트 0이 강조 표시된 애플리케이션 풀 선택 대화 상자의 스크린샷.

  8. 확인 단추를 클릭하여 애플리케이션 풀 변경 내용을 적용한 다음 확인을 다시 클릭하여 변경 내용을 IIS에 커밋합니다. IIS 관리자 창이 다시 나타납니다. "기본 웹 사이트"를 보여 주는 트리 뷰에서 "example35"의 아이콘이 변경되어 이제 별도의 ASP.NET 애플리케이션임을 나타냅니다.
    기본 웹 사이트와 강조 표시된 아이콘(예: 변경된 35개 폴더)을 보여 주는 기본 웹 사이트 트리 보기의 스크린샷

  9. 이 시점에서 Internet Explorer 인스턴스를 시작하고 다음 URL로 이동합니다.

    http://localhost/example35

    잠시 후 애플리케이션은 이 애플리케이션에서 지원되는 .NET Framework 기능 목록을 표시합니다.

  10. Windows 탐색기에서 디렉터리로 이동하는 c:\inetpub\wwwroot\example35 경우 메모장을 사용하여 "default.aspx" 코드와 "web.config"의 정보를 확인할 수 있습니다. 예를 들어 web.config의 콘텐츠에는 "3.5" 모드에서 실행되도록 .NET Framework 컴파일러를 구성하는 지시문이 포함됩니다. "default.aspx"의 .NET Framework 코드는 .NET 3.5에서 도입된 일부 C# 구문, 특히 LINQ-to-Object 쿼리를 보여 줍니다.

이제 ASP.NET 3.5 애플리케이션이 실행 중이므로 두 번째 ASP.NET 애플리케이션을 만들 수 있지만 이번에는 .NET Framework 4.5를 사용하도록 구성합니다.

  1. "examples.zip" .zip 파일이 열려 있는 Windows 탐색기 창으로 돌아갑니다.

  2. "example45" 폴더의 내용을 엽니다.

  3. 열려 c:\inetpub\wwwroot있는 두 번째 Windows 탐색기 창에서 .

  4. .zip 파일에서 "default.aspx" 파일을 복사하여 직접 붙여넣습니다 c:\inetpub\wwwroot. 이제 폴더 내용이 c:\inetpub\wwwroot 다음과 같이 표시됩니다.
    기본 점이 s p x 파일이 강조 표시된 로컬 디스크 C 드라이브 폴더의 스크린샷.

  5. 이제 Internet Explorer로 돌아가서 다음 URL로 이동합니다.

    http://localhost/default.aspx

    잠시 후 두 번째 애플리케이션 풀이 "기본 웹 사이트"에 대한 ASP.NET 4.5 애플리케이션 실행을 시작합니다. 브라우저는 동적으로 형식화된 변수(즉, .NET Framework 4.0/4.5에 도입된 동적 키워드(keyword))에 대한 목록 끝에 새 항목이 있는 이 애플리케이션에서 지원되는 .NET Framework 기능 목록을 다시 한 번 표시합니다. 특수 web.config 항목이 필요한 "example35" 애플리케이션과 달리 "기본 웹 사이트"에서 "default.aspx" 페이지를 구성하고 실행하는 데 web.config 파일이 필요하지 않았습니다. .NET Framework 4.5는 IIS 8.0의 ASP.NET 애플리케이션에서 사용하는 기본 .NET Framework이므로 추가 구성이 필요하지 않습니다.

  6. 메모장 사용하여 방금 복사한 "default.aspx" 페이지를 여는 경우 "example35" 디렉터리의 버전과 비교하여 몇 가지 변경 내용도 표시됩니다. .NET Framework 4.5가 IIS 8.0의 기본값이므로 페이지 맨 위에 네임스페이스 지시문이 없습니다. 페이지의 코드는 .NET Framework 4.0/4.5에 도입된 컴파일러 개념인 동적 변수를 사용하는 방법을 보여 줍니다.

요약

IIS 8.0은 각 .NET Framework 버전을 호스트하기 위해 서로 다른 애플리케이션 풀을 사용하여 동일한 컴퓨터에서 ASP.NET 3.5 및 ASP.NET 4.5 애플리케이션을 모두 실행할 수 있도록 지원합니다. 여러 .NET Framework 버전에 대한 IIS 8.0 지원을 통해 개발자와 관리자는 IIS 8.0을 최대한 활용하는 동시에 windows Server 2008 R2에서 이월된 웹 애플리케이션과의 이전 버전과의 호환성을 기본.