응용 프로그램 도메인은 일반적으로 런타임 호스트가 프로그래밍 방식으로 만들고 조작합니다. 그러나 때때로 응용 프로그램에서 응용 프로그램 도메인을 사용할 수도 있습니다. 예를 들어, 전체 응용 프로그램을 중지하지 않고도 도메인과 구성 요소를 언로드할 수 있도록 응용 프로그램에서 응용 프로그램 구성 요소를 도메인에 로드할 수 있습니다.
AppDomain 클래스는 응용 프로그램 도메인에 대한 프로그래밍 인터페이스입니다. 이 클래스는 도메인을 만들고 언로드하며 도메인에서 형식 인스턴스를 만들고 응용 프로그램 도메인 언로드와 같이 다양한 알림을 등록할 수 있는 메서드를 포함합니다. 다음 표에는 자주 사용되는 AppDomain 메서드가 나열되어 있습니다.
AppDomain 메서드 |
설명 |
---|---|
새 응용 프로그램 도메인을 만듭니다. AppDomainSetup 개체를 지정하는 이 메서드의 오버로드를 사용하는 것이 좋습니다. 이 메서드는 응용 프로그램 기본 디렉터리 또는 응용 프로그램의 루트 디렉터리, 도메인의 구성 파일 위치 및 어셈블리를 도메인에 로드하기 위해 공용 언어 런타임에서 사용할 검색 경로 등 새 도메인의 속성을 설정하는 기본적인 방법입니다. |
|
응용 프로그램 도메인에서 어셈블리를 실행합니다. 이 메서드는 인스턴스 메서드이므로 참조할 다른 응용 프로그램 도메인에서 코드를 실행하는 데 사용할 수 있습니다. |
|
응용 프로그램 도메인에서 지정한 형식의 인스턴스를 만들고 프록시를 반환합니다. 만들어진 형식을 포함하는 어셈블리가 호출 어셈블리에 로드되지 않도록 하려면 이 메서드를 사용합니다. |
|
도메인을 완전 종료합니다. 응용 프로그램 도메인은 도메인에서 실행 중인 모든 스레드가 중지되거나 더 이상 도메인에 없을 때까지 언로드되지 않습니다. |
![]() |
---|
공용 언어 런타임에서는 전역 메서드의 serialization을 지원하지 않으므로 다른 응용 프로그램 도메인에서 대리자를 사용하여 전역 메서드를 실행할 수 없습니다. |
또한 공용 언어 런타임 호스팅 인터페이스 사양에 설명되어 있는 관리되지 않는 인터페이스를 사용하여 응용 프로그램 도메인에 액세스할 수도 있습니다. 런타임 호스트는 비관리 코드에서 인터페이스를 사용하여 프로세스 내에서 응용 프로그램 도메인을 만들고 액세스할 수 있습니다.