Retrieving Setup Information from an Application Domain
Each instance of an application domain consists of both properties and AppDomainSetup information. You can retrieve setup information from an application domain using the System.AppDomain class. This class provides several members that retrieve configuration information about an application domain.
You can also query the AppDomainSetup object for the application domain to obtain setup information that was passed to the domain when it was created.
The following example creates a new application domain and then prints several member values to the console.
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
[C#]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);
}
}
The following example sets, and then retrieves, setup information for an application domain. Note that AppDomain.SetupInformation.ApplicationBase
gets the configuration information.
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
[C#]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);
}
}
See Also
Hosting the Common Language Runtime | Programming with Application Domains | Using Application Domains