login register Sysop! about ME  
qrcode
    최초 작성일 :    2012년 04월 29일
  최종 수정일 :    2012년 04월 29일
  작성자 :    songgun
  편집자 :    songgun (송 원석)
  읽음수 :    33,709

강좌 목록으로 돌아가기

필자의 잡담~

이번 문서에서는 웹 응용 프로그램이 사용하는 ASP.NET의 버전에 따라, 동적으로 적절하게 제공되는 IIS 8.0의 IIS 관리자 UI를 살펴봅니다. 더불어 ASP.NET 4.5의 새로운 기능에 대해서도 함께 알아봅니다.

본문의 내용은 대체적으로 가벼운 수준이며 그리 난해한 편은 아닙니다. 다만, 새롭게 소개되는 ASP.NET 4.5의 특징에 대한 이해가 다소 필요합니다. 저 역시도 아직 ASP.NET 4.5에 대한 이해가 부족하므로 일부 미진한 부분에 관해서는 댓글을 통한 활발한 논의가 이루어졌으면 합니다.
다음은 본 번역 문서의 권한에 관한 제반 사항입니다.
  • 본 번역 문서에 대한 모든 저작권은 마이크로소프트사에 있으며, 단순히 IIS 8.0을 널리 알리고자 하는 개인적인 취지에 의해 번역되어 제공되는 문서입니다.
  • 마이크로소프트사의 요청이 있는 경우, 언제라도 게시가 중단될 수 있습니다.
  • 본문에서 제공하는 번역에는 오역이 포함되어 있을 수 있으며, 주석의 내용도 개인적으로 파악한 것으로 마이크로소프트사는 이 내용에 대해 일체의 보장을 하지 않습니다.
  • 본문의 원문은 IIS 개발팀이 제공하는 IIS 8.0 ASP.NET Configuration Management 입니다.
  • 본 문서는 2012년 4월/5월 현재, IIS 8.0을 미리 살펴보기 위한 사전정보일뿐, 제품이 실제로 출시되면 얼마든지 변경될 수 있습니다.
호환성 정보
버전 비고
IIS 8.0 IIS 8.0은 ASP.NET 4.5의 지원을 위해 IIS 관리 도구들이 개선되었습니다.
IIS 7.5 IIS 7.5는 ASP.NET 4.5에 대한 IIS 관리 도구들이 변경되지 않았습니다.
IIS 7.0 IIS 7.0은 ASP.NET 4.0에 대한 IIS 관리 도구들이 변경되지 않았습니다.


목차

문제점
윈도우 서버 8에는 .NET 프레임워크 4.5가 기본으로 포함되어 있습니다. 그리고, 필요에 따라 .NET 프레임워크 3.5를 함께 설치할 수도 있습니다. 개발자들이나 관리자들은 종종 이와 같은 여러 가지 버전의 .NET 프레임워크로 구성된 웹 응용 프로그램들을 동시에 함께 실행시켜야 할 경우가 있습니다. 그리고, 그에 따라 자연스럽게 버전에 적합한 적절한 관리를 수행해야만 합니다.


해결방법
IIS 8.0은 그래픽 기반의 IIS 관리자 도구뿐만 아니라 IIS 명령줄 관리 도구를 이용한 ASP.NET 3.5 및 ASP.NET 4.5 응용 프로그램의 관리를 지원합니다.

그리고, 그래픽 기반의 IIS 관리 도구 및 명령줄 IIS 관리 도구 두 가지 모두, ASP.NET 응용 프로그램의 구성 정보를 읽고나 기록할 때, 버전 특성에 따라 적절하게 동작합니다. 가령, IIS 서버 관리자에서 실행되는 ASP.NET 관리 모듈들은, 응용 프로그램에서 사용하고 있는 ASP.NET의 버전에 따라 적절한 구성 옵션들을 보여주게 됩니다.


단계별 지침
전제조건:

본문에서 살펴볼 내용들을 문제 없이 따라해보려면 IIS 8.0, ASP.NET 3.5, 그리고 ASP.NET 4.5가 모두 설치된 윈도우 8 머신이 필요합니다.

따라서, 먼저 이와 관련 내용을 다루고 있는 IIS 8.0 미리보기 - ASP.NET 3.5와 ASP.NET 4.5 지원 문서를 살펴보는 것이 좋습니다. 이 문서에서는 본문에서 필요한 세 가지 기능과 두 가지 버전의 ASP.NET 예제 응용 프로그램을 설치하는 방법을 다루고 있습니다.

알려진 버그에 대한 해결방법:
  • 현재 이 기능에 대한 알려진 버그는 존재하지 않습니다.

ASP.NET 관리 모듈 출력
IIS 관리자를 실행하고, 좌측의 연결 패인 트리뷰를 확장하여 "Default Web Site"와 그 하위 노드들이 보이도록 조정합니다:

그러면, 선택한 ASP.NET 응용 프로그램을 관리할 수 있는 관리 모듈들이 나타납니다. 본문의 경우, "Default Web Site"를 선택했는데, 이 웹사이트는 기본적으로 ASP.NET 4.5를 지원하므로, IIS 관리자에 15가지 ASP.NET 관련 관리 모듈들이 나타날 것입니다. 위의 그림에서 빨간색 박스로 표시된 세 가지 관리 모듈들은 ASP.NET 4.5 응용 프로그램에서만 사용 가능한 관리 모듈들입니다.

이 그림을 다음 그림과 비교해보면 ASP.NET 3.5 응용 프로그램과 ASP.NET 4.5 응용 프로그램간에 지원되는 관리 모듈의 차이점을 쉽게 파악할 수 있을 것입니다. 다시 말해서, "example35" 응용 프로그램은 ASP.NET 3.5로 구성되어 있기 때문에, 12가지의 ASP.NET 관련 관리 모듈만 나타납니다:

이처럼 IIS 8.0의 IIS 관리자는 ASP.NET 4.5를 관리하는 경우, 다음과 같은 세 가지 추가적인 관리 모듈들을 지원해줍니다:
  • 공급자(Providers) 모듈: 이 모듈은 ASP.NET 4.5의 멤버십, 역할 관리자, 프로필 기능에 사용되는 추가/삭제 가능한 영속화 공급자를 중앙집중 관리합니다.
  • .NET 사용자(.NET Users) 모듈: ASP.NET 4.5 응용 프로그램의 멤버십 사용자를 대화형 UI를 사용해서 생성하거나 삭제하고 변경할 수 있습니다.
  • .NET 역할(.NET Roles) 모듈: 대화형 UI를 이용해서 역할을 생성하거나 삭제할 수 있으며, ".NET 사용자" 모듈과 통합되어 사용자를 역할에 추가하거나 제거할 수 있습니다. 다른 두 가지 관리 모듈들처럼, ".NET 역할" 모듈도 ASP.NET 4.5 응용 프로그램 관리에 사용됩니다.

ASP.NET 컴파일 설정 관리
ASP.NET 3.5와 ASP.NET 4.5를 동시에 지원해주는 관리 모듈들은 대부분 ASP.NET의 버전과 관계 없이 항상 같은 기능들을 제공해줍니다. 그러나, ASP.NET의 몇몇 기능들은 새로운 .NET 프레임워크 버전에 추가된 새로운 구성 옵션들을 지원할 수 있도록 변경되었으며, IIS 관리자의 ASP.NET 관리 모듈들은 관리할 ASP.NET 응용 프로그램 버전에 따라 옵션들의 출력을 동적으로 적절하게 변경하여 이를 지원해줍니다.

다음은 ASP.NET 3.5에 대한 .NET 컴파일 모듈의 스크린샷입니다:

그리고, 다음은 ASP.NET 4.5에 대한 동일한 .NET 컴파일 모듈의 스크린샷입니다. ASP.NET 4.5의 새로운 기능에 대응할 수 있도록 구성 옵션이 추가된 것을 볼 수 있습니다:

ASP.NET 4.5 응용 프로그램에서만 사용할 수 있는 이 두 가지 새로운 옵션들은 다음과 같습니다:
  • Enable JIT Profiling: ASP.NET 4.5는 기본적으로, 여분의 CPU 코어를 이용한 적극적인 JIT 실행 경로의 백그라운드 컴파일을 활성화하기 위해서, CLR의 JIT 컴파일을 통해서 동작합니다. *
  • Enable Prefetch: 윈도우 서버 8에서만 사용할 수 있는 ASP.NET 4.5의 기능 중 하나로, ASP.NET 4.5의 컴파일 시스템과 윈도우 서버 8의 슈퍼패치 서비스를 결합할 수 있습니다. 슈퍼패치 서비스와 ASP.NET 프리패치를 모두 활성화시키면, 웹 응용 프로그램이 시작되는 동안, 윈도우 서버 8이 ASP.NET의 컴파일을 분석해서 관리되는 어셈블리들이 로드될 때의 디스크 성능을 동적으로 최적화합니다.
* 이 항목의 경우, 번역은 일단 마무리했으나 부끄럽게도 저 역시 본문에서 전하고자 하는 바를 정확하게 이해하고 있지 못합니다. 구글링을 해봤지만 IIS의 JIT Profiling 자체에 대한 설명을 거의 찾아볼 수 없었으며, TechNet 문서에도 이 항목에 대한 설명은 아직 '보류(TBD, To Be Determined)' 상태입니다. 이 항목을 보다 정확하게 이해하기 위해서는 IIS보다는 .NET 4.x의 프로파일링에 대한 보다 전문적인 지식이 필요할 것으로 보입니다.

다만, 문맥을 감안해본다면, 이 항목을 All로 설정하면 모든 코어에 대해 JIT Profiling을 활성화시킨다는 의미로 생각됩니다. 이 항목에 대해서는 댓글을 통해서 보다 많은 분들과 의견을 나누고 싶습니다.
ASP.NET 컴퓨터 키 설정 관리
다음 스크린샷은 ASP.NET 3.5 응용 프로그램에 대한 컴퓨터 키 설정 관리 화면입니다. "Validation method" 드롭다운 항목과 "Encryption method" 드롭다운 항목에 ASP.NET 3.5의 여러 가지 보안 관련 기능들에서 사용할 수 있는 해시 알고리즘과 암호화 알고리즘이 나타나있습니다: (주의: 이 그림은 두 가지 드롭다운 항목의 전체 옵션을 한 눈에 볼 수 있도록 배치를 편집한 것입니다.)

그리고, 다음 스크린샷은 ASP.NET 4.5 응용 프로그램에 대한 컴퓨터 키 설정 관리 화면입니다.

직접 확인할 수 있는 것처럼, "Encryption method" 드롭다운 항목의 알고리즘 옵션은 ASP.NET 4.5와 ASP.NET 3.5가 동일합니다. (AES는 .NET 2.0부터 지원됩니다.) 그러나, ASP.NET 4.5의 해시 알고리즘("Validation method" 항목)은 SHA-2 계열의 주요 해시 알고리즘을 지원하기 위해서 확충되었습니다. (HMACSHA256, HMACSHA384, 및 HMACSHA512)


ASP.NET 페이지 및 컨트롤 관리
다음 스크린샷은 ASP.NET 3.5 응용 프로그램에 대한 페이지 및 컨트롤 관리 화면입니다. 이 관리 모듈은 ASP.NET 3.5 응용 프로그램에서 일반적으로 사용되는 구성 옵션들 중 일부를 제공합니다:

그리고, 다음 스크린샷은 ASP.NET 4.5 응용 프로그램에 대한 페이지 및 컨트롤 관리 화면입니다. ASP.NET 4.5의 새로운 구성 옵션들을 지원하기 위해서 "Behavior" 영역의 옵션들이 확장된 것을 알 수 있습니다:

지금까지 ASP.NET은 여러 차례 버전이 업그레이드되면서, 다양한 기능들과 컨트롤들이 만들어내는 HTML, 자바스크립트, CSS 등에 대한 지속적인 개선이 이루어졌습니다. 그러나, 기존 응용 프로그램 중 일부는 특정 형식으로 렌더된 출력 결과를 기대하는 경우도 있습니다. ASP.NET 4.5는 "페이지 및 컨트롤" 관리 모듈에서 지원하는 새로운 설정들을 구성하여 새로운 렌더링 형식 대신, 계속 기존 렌더링 형식을 지원하도록 설정할 수 있습니다.
  • ClientID Mode: 기본값인 "Predictable"을 지정하면 렌더되는 HTML 요소들의 "id" 어트리뷰트 값이 고정된 식별자로 생성됩니다. 반면, 이 항목을 "AutoID"로 지정하면 ASP.NET 4.5에서도 기존 버전의 ASP.NET ID 생성 방식을 모방합니다. *
  • Control Rendering Compatibility Version: 항목 이름에서 알 수 있는 것처럼, 다양한 ASP.NET 컨트롤들이 렌더하는 HTML/자바스크립트/CSS 출력의 버전을 제어할 수 있습니다. 다시 말해서, 이 항목을 "3.5"로 지정하면, ASP.NET 4.5에서도 ASP.NET 3.5에서 생성되는 형식과 같은 출력이 만들어집니다. **
* 더 자세한 정보는 ASP.NET 웹 서버 컨트롤 식별 문서와 Control.ClientIDMode 속성 문서를 참고하시기 바랍니다.
** 더 자세한 정보는 pages 요소(ASP.NET 설정 스키마) 문서의 controlRenderingCompatibilityVersion 항목과 Control.RenderingCompatibility 속성 문서를 참고하시기 바랍니다.
요약
IIS 8.0은 동일한 머신에서 서로 다른 .NET 프레임워크 버전을 호스트하는 별개의 응용 프로그램 풀을 통해서, ASP.NET 3.5 및 ASP.NET 4.5 응용 프로그램을 동시에 실행할 수 있습니다. 그리고, 이 두 가지 버전의 ASP.NET 응용 프로그램 관리를 지원하기 위해서, IIS 8.0의 관리 도구들(그래픽 기반 관리도구 및 명령줄 도구 모두) 또한 복수의 ASP.NET 버전 관리를 지원합니다. 뿐만 아니라, IIS 8.0 서버 관리자는 관리하는 ASP.NET 응용 프로그램의 버전에 따라 동적으로 적절한 관리 옵션을 표시해줍니다.


authored by

  itist
  2012-05-01(01:26)
캐릭 이미지
감사합니다~~~

 
 
.NET과 Java 동영상 기반의 교육사이트

로딩 중입니다...

서버 프레임워크 지원 : NeoDEEX
based on ASP.NET 3.5
Creative Commons License
{5}
{2} 읽음   :{3} ({4})