다음을 통해 공유


응용 프로그램 도메인으로 프로그래밍

업데이트: 2007년 11월

응용 프로그램 도메인은 일반적으로 런타임 호스트가 프로그래밍 방식으로 만들고 조작합니다. 그러나 때때로 응용 프로그램에서 응용 프로그램 도메인을 사용할 수도 있습니다. 예를 들어, 전체 응용 프로그램을 중지하지 않고도 도메인과 구성 요소를 언로드할 수 있도록 응용 프로그램에서 응용 프로그램 구성 요소를 도메인에 로드할 수 있습니다.

AppDomain 클래스는 응용 프로그램 도메인에 대한 프로그래밍 인터페이스입니다. 이 클래스는 도메인을 만들고 언로드하며 도메인에서 형식 인스턴스를 만들고 응용 프로그램 도메인 언로드와 같이 다양한 알림을 등록할 수 있는 메서드를 포함합니다. 다음 표에는 자주 사용되는 AppDomain 메서드가 나열되어 있습니다.

AppDomain 메서드

설명

CreateDomain

새 응용 프로그램 도메인을 만듭니다. AppDomainSetup 개체를 지정하는 이 메서드의 오버로드를 사용하는 것이 좋습니다. 이 메서드는 응용 프로그램 기본 디렉터리 또는 응용 프로그램의 루트 디렉터리, 도메인의 구성 파일 위치 및 어셈블리를 도메인에 로드하기 위해 공용 언어 런타임에서 사용할 검색 경로 등 새 도메인의 속성을 설정하는 기본적인 방법입니다.

ExecuteAssemblyExecuteAssemblyByName

응용 프로그램 도메인에서 어셈블리를 실행합니다. 이 메서드는 인스턴스 메서드이므로 참조할 다른 응용 프로그램 도메인에서 코드를 실행하는 데 사용할 수 있습니다.

CreateInstanceAndUnwrap

응용 프로그램 도메인에서 지정한 형식의 인스턴스를 만들고 프록시를 반환합니다. 만들어진 형식을 포함하는 어셈블리가 호출 어셈블리에 로드되지 않도록 하려면 이 메서드를 사용합니다.

Unload

도메인을 완전 종료합니다. 응용 프로그램 도메인은 도메인에서 실행 중인 모든 스레드가 중지되거나 더 이상 도메인에 없을 때까지 언로드되지 않습니다.

참고:

공용 언어 런타임에서는 전역 메서드의 serialization을 지원하지 않으므로 다른 응용 프로그램 도메인에서 대리자를 사용하여 전역 메서드를 실행할 수 없습니다.

또한 공용 언어 런타임 호스팅 인터페이스 사양에 설명되어 있는 관리되지 않는 인터페이스를 사용하여 응용 프로그램 도메인에 액세스할 수도 있습니다. 런타임 호스트는 비관리 코드에서 인터페이스를 사용하여 프로세스 내에서 응용 프로그램 도메인을 만들고 액세스할 수 있습니다.

참고 항목

참조

AppDomain

AppDomain 메서드

기타 리소스

응용 프로그램 도메인