.NET Compact Framework의 응용 프로그램 도메인
업데이트: 2007년 11월
모든 .NET Compact Framework 응용 프로그램은 운영 체제 프로세스와 유사한 응용 프로그램 도메인이라는 런타임 구문 안에서 실행되며, 실행 중인 응용 프로그램에서 사용하는 모든 관리되는 리소스는 응용 프로그램이 종료되면 해제되거나 호스트 운영 체제로 반환됩니다.
응용 프로그램 도메인은 기본 호스트 운영 체제의 도움 없이 오류 격리, 향상된 안정성, 보안 같은 프로세스상의 이점을 제공합니다. 네이티브 운영 체제 코드인 응용 프로그램 도메인 호스트는 공용 언어 런타임의 인스턴스를 시작하고, 공용 언어 런타임은 응용 프로그램 도메인 호스트에 정적으로 또는 동적으로 연결될 수 있습니다.
.NET Compact Framework에서는 응용 프로그램 도메인 호스트의 동작에 제약이 없습니다. 응용 프로그램 도메인 호스트는 프로그램을 시작하거나 중지하는 데 사용되는 기존의 대화형 셸 역할을 수행할 수 있으며, Windows 같은 동적 응용 프로그램 시스템의 경우에는 .NET Compact Framework 응용 프로그램이 네이티브 응용 프로그램과 같은 메커니즘으로 시작 또는 중지될 수 있도록 응용 프로그램 로더의 역할을 수행할 수도 있습니다.
여러 응용 프로그램 도메인
.NET Compact Framework에서는 응용 프로그램 도메인을 여러 개 사용할 수 있습니다. 클래스의 생성자에 어셈블리를 지정한 다음 CreateDomain 메서드를 사용하여 새 응용 프로그램 도메인을 시작할 수 있습니다. 그러면 새 응용 프로그램 도메인은 자체 공용 언어 런타임 DLL, 데이터 구조, 메모리 풀 사본을 로드합니다. 하나의 운영 체제 프로세스에는 응용 프로그램 도메인이 여러 개 존재할 수 있습니다.
참고: |
---|
.NET Compact Framework는 여러 응용 프로그램 도메인에서 사용할 수 있도록 어셈블리를 도메인 중립 코드 영역에 로드하는 기능을 지원하지 않습니다. |
.NET Compact Framework는 가비지 수집을 실행할 시점을 자체적으로 결정합니다. 가비지 수집은 하나의 응용 프로그램 도메인 또는 모든 응용 프로그램 도메인에서 수행될 수 있습니다. 이렇게 하면 한 응용 프로그램 도메인이 다른 응용 프로그램 도메인에서 사용할 메모리까지 포함하여 메모리를 너무 많이 사용하는 것을 방지할 수 있습니다.