응용 프로그램 도메인(C# 및 Visual Basic)

응용 프로그램 도메인을 사용하면 실행 중인 응용 프로그램을 융통성 있고 안전한 방법으로 격리할 수 있습니다.

응용 프로그램 도메인은 일반적으로 런타임 호스트에서 만들고 조작합니다. 때로는 응용 프로그램에서 프로그래밍 방식으로 응용 프로그램 도메인과 상호 작용해야 할 수도 있습니다. 응용 프로그램의 실행을 중지하지 않고 구성 요소를 언로드해야 하는 경우를 예로 들 수 있습니다.

응용 프로그램 도메인을 사용하면 응용 프로그램을 다른 응용 프로그램과 다른 응용 프로그램의 데이터에서 분리하여 보안을 강화할 수 있습니다. 개별 프로세스를 사용할 때와 동일한 격리 수준을 유지하면서 단일 프로세스에서 여러 응용 프로그램 도메인을 실행할 수 있습니다. 단일 프로세스 내에서 여러 응용 프로그램을 실행하면 서버 확장성이 향상됩니다.

다음 코드 예제에서는 새로운 응용 프로그램 도메인을 만든 다음 기존에 빌드하여 드라이브 C에 저장한 어셈블리인 HelloWorld.exe를 로드하고 실행합니다.

' Create an Application Domain:
Dim newDomain As System.AppDomain = System.AppDomain.CreateDomain("NewApplicationDomain")

' Load and execute an assembly:
newDomain.ExecuteAssembly("c:\HelloWorld.exe")

' Unload the application domain:
System.AppDomain.Unload(newDomain)
// Create an Application Domain:
System.AppDomain newDomain = System.AppDomain.CreateDomain("NewApplicationDomain");

// Load and execute an assembly:
newDomain.ExecuteAssembly(@"c:\HelloWorld.exe");

// Unload the application domain:
System.AppDomain.Unload(newDomain);

응용 프로그램 도메인 개요

응용 프로그램 도메인에는 다음과 같은 속성이 있습니다.

  • 어셈블리를 실행하려면 먼저 응용 프로그램 도메인에 로드해야 합니다. 자세한 내용은 어셈블리와 전역 어셈블리 캐시(C# 및 Visual Basic)를 참조하십시오.

  • 한 응용 프로그램 도메인에서 문제가 발생해도 다른 응용 프로그램 도메인에서 실행되는 기타 코드에는 영향을 주지 않습니다.

  • 전체 프로세스를 중지하지 않고 개별 응용 프로그램을 중지하고 코드를 언로드할 수 있습니다. 개별 어셈블리나 형식을 언로드할 수는 없으며 응용 프로그램 도메인 전체만 언로드할 수 있습니다.

관련 단원

참고 항목

개념

C# 프로그래밍 가이드

어셈블리와 전역 어셈블리 캐시(C# 및 Visual Basic)

기타 리소스

Visual Basic 프로그래밍 가이드

응용 프로그램 도메인

응용 프로그램 도메인 및 어셈블리를 사용한 프로그래밍