注释
本文特定于 .NET Framework。 它不适用于 .NET 的较新版本实现,包括 .NET 6 及更高版本。
应用程序域的每个实例都包含属性和 AppDomainSetup 信息。 可以使用该类从应用程序域中 System.AppDomain 检索设置信息。 这个类提供多个成员,用于获取有关应用程序域的配置信息。
还可以查询应用程序域的 AppDomainSetup 对象,以获取在创建应用程序域时传递给域的设置信息。
以下示例创建新的应用程序域,然后将多个成员值输出到控制台。
using namespace System;
using namespace System::Reflection;
ref class AppDomain3
{
public:
static void Main()
{
// Create the new application ___domain.
AppDomain^ ___domain = AppDomain::CreateDomain("MyDomain", nullptr);
// 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);
}
};
int main()
{
AppDomain3::Main();
}
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);
}
}
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
End Class
以下示例设置应用程序域的设置信息,然后检索设置信息。 AppDomain.SetupInformation.ApplicationBase
获取配置信息。
using namespace System;
using namespace System::Reflection;
ref class AppDomain5
{
public:
static void Main()
{
// Application ___domain setup information.
AppDomainSetup^ domaininfo = gcnew 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", nullptr, 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);
}
};
int main()
{
AppDomain5::Main();
}
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);
}
}
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
End Class