애플리케이션 도메인이란 무엇인가요?
애플리케이션 도메인은 실행 중인 애플리케이션을 격리하기 위한 유연하고 안전한 방법을 제공합니다.
애플리케이션 도메인은 일반적으로 런타임 호스트에 의해 생성되고 운영됩니다. 애플리케이션 실행을 중지하지 않고 구성 요소를 제거하려는 경우와 같이 애플리케이션이 프로그래밍 방식으로 애플리케이션 도메인과 상호 작용하기를 원하는 경우가 있습니다.
애플리케이션 도메인은 애플리케이션과 해당 데이터를 서로 분리하여 유지함으로써 보안을 강화하는 데 도움이 됩니다. 단일 프로세스는 별도의 프로세스 내에 존재하는 동일한 격리 수준을 사용하여 여러 애플리케이션 도메인을 실행할 수 있습니다. 단일 프로세스에서 여러 애플리케이션을 실행하면 서버 확장성이 향상됩니다.
다음 코드 예제에서는 새 애플리케이션 도메인을 만든 다음 이전에 생성된 어셈블리를 로드하고 실행합니다.
HelloWorld.exe는 드라이브에 저장되어 있습니다.
C
위로.
C#
코드 복사
정적
void
Main()
{
//
생성
애플리케이션
도메인:
System.AppDomain
newDomain
=
System.AppDomain.CreateDomain("NewApplicationDomain");
//
어셈블리
로드 및
실행
어셈블리:
newDomain.ExecuteAssembly(@" c:\HelloWorld.exe");
//
언로드
애플리케이션
도메인 :
System.AppDomain.Unload(newDomain);
}
애플리케이션 도메인 개요
애플리케이션 도메인에는 다음과 같은 특징이 있습니다.
어셈블리를 실행하려면 먼저 애플리케이션 도메인에 로드해야 합니다. 자세한 내용은 어셈블리 및 전역 어셈블리 캐시(C#
프로그래밍 가이드)를 참조하세요.
한 애플리케이션 도메인의 오류는 다른 애플리케이션 도메인에서 실행되는 다른 코드에 영향을 주지 않습니다.
전체 프로세스를 중지하지 않고 개별 애플리케이션을 중지하고 코드를 제거하는 기능. 개별 어셈블리나 유형은 제거할 수 없으며 전체 애플리케이션 도메인만 제거할 수 있습니다.