응용 프로그램 도메인에서 설치 정보 검색
업데이트: 2007년 11월
응용 프로그램 도메인의 각 인스턴스는 속성과 AppDomainSetup 정보로 구성됩니다. System.AppDomain 클래스를 사용하면 응용 프로그램 도메인에서 설치 정보를 검색할 수 있습니다. 이 클래스에서는 몇몇 멤버를 제공하는데, 이 멤버는 응용 프로그램 도메인과 관련된 구성 정보를 검색합니다.
또한 응용 프로그램 도메인에서 AppDomainSetup 개체를 쿼리하면 이전에 도메인에 전달되었던 설치 정보를 얻을 수 있습니다.
다음 예제는 새 응용 프로그램 도메인을 만든 다음 몇몇 멤버 값을 콘솔에 출력합니다.
Imports System
Imports System.Reflection
Class AppDomain3
Public Shared Sub Main()
'Create the new application domain.
Dim domain As AppDomain = AppDomain.CreateDomain("MyDomain", Nothing)
'Output to the console.
Console.WriteLine(("Host domain: " + AppDomain.CurrentDomain.FriendlyName))
Console.WriteLine(("new domain: " + domain.FriendlyName))
Console.WriteLine(("Application base is: " + domain.BaseDirectory))
Console.WriteLine(("Relative search path is: " + domain.RelativeSearchPath))
Console.WriteLine(("Shadow copy files is set to: " + domain.ShadowCopyFiles))
AppDomain.Unload(domain)
End Sub 'Main
End Class 'AppDomain3
using System;
using System.Reflection;
class AppDomain3
{
public static void Main()
{
//Create the new application domain.
AppDomain domain = AppDomain.CreateDomain("MyDomain", null);
//Output to the console.
Console.WriteLine("Host domain: " + AppDomain.CurrentDomain.FriendlyName);
Console.WriteLine("new domain: " + domain.FriendlyName);
Console.WriteLine("Application base is: " + domain.BaseDirectory);
Console.WriteLine("Relative search path is: " + domain.RelativeSearchPath);
Console.WriteLine("Shadow copy files is set to: " + domain.ShadowCopyFiles);
AppDomain.Unload(domain);
}
}
다음 예제는 응용 프로그램 도메인의 설치 정보를 설정한 다음 검색합니다. AppDomain.SetupInformation.ApplicationBase를 사용하여 구성 정보를 가져온다는 점에 주목합니다.
Imports System
Imports System.Reflection
Class AppDomain5
Public Shared Sub Main()
' Application domain setup information.
Dim domaininfo As New AppDomainSetup()
domaininfo.ApplicationBase = "f:\work\development\latest"
domaininfo.ConfigurationFile = "f:\work\development\latest\appdomain5.exe.config"
' Creates the application domain.
Dim domain As AppDomain = AppDomain.CreateDomain("MyDomain", Nothing, domaininfo)
' Write the application domain information to the console.
Console.WriteLine(("Host domain: " + AppDomain.CurrentDomain.FriendlyName))
Console.WriteLine(("child domain: " + domain.FriendlyName))
Console.WriteLine()
Console.WriteLine(("Application base is: " + domain.SetupInformation.ApplicationBase))
Console.WriteLine(("Configuration file is: " + domain.SetupInformation.ConfigurationFile))
' Unloads the application domain.
AppDomain.Unload(domain)
End Sub 'Main
End Class 'AppDomain5
using System;
using System.Reflection;
class AppDomain5
{
public static void Main()
{
// Application domain setup information.
AppDomainSetup domaininfo = new AppDomainSetup();
domaininfo.ApplicationBase = "f:\\work\\development\\latest";
domaininfo.ConfigurationFile = "f:\\work\\development\\latest\\appdomain5.exe.config";
// Creates the application domain.
AppDomain domain = AppDomain.CreateDomain("MyDomain", null, domaininfo);
// Write the application domain information to the console.
Console.WriteLine("Host domain: " + AppDomain.CurrentDomain.FriendlyName);
Console.WriteLine("child domain: " + domain.FriendlyName);
Console.WriteLine();
Console.WriteLine("Application base is: " + domain.SetupInformation.ApplicationBase);
Console.WriteLine("Configuration file is: " + domain.SetupInformation.ConfigurationFile);
// Unloads the application domain.
AppDomain.Unload(domain);
}
}