Эта статья относится к .NET Framework. Он не применяется к более новым реализациям .NET, включая .NET 6 и более поздние версии.
Сведения о настройке нового домена приложения среде CLR можно предоставить с помощью класса AppDomainSetup. При создании собственных доменов приложений наиболее важным свойством является ApplicationBase. Другие свойства AppDomainSetup используются главным образом узлами среды выполнения для настройки определенного домена приложения.
Свойство ApplicationBase определяет корневой каталог приложения. Когда среде выполнения требуется разрешить запрос о типе, она выполняет поиск сборки, содержащей тип в каталоге, заданном свойством ApplicationBase.
Примечание
Новый домен приложения наследует только свойство ApplicationBase своего создателя.
В следующем примере создается экземпляр класса AppDomainSetup, используемого для создания домена приложения, производится вывод данных на консоль и затем выгрузка домена приложения.
Пример
using namespace System;
using namespace System::Reflection;
ref class AppDomain4
{
public:
static void Main()
{
// Create application domain setup information.
AppDomainSetup^ domaininfo = gcnew AppDomainSetup();
domaininfo->ApplicationBase = "f:\\work\\development\\latest";
// Create the application domain.
AppDomain^ domain = AppDomain::CreateDomain("MyDomain", nullptr, domaininfo);
// Write application domain information to the console.
Console::WriteLine("Host domain: " + AppDomain::CurrentDomain->FriendlyName);
Console::WriteLine("child domain: " + domain->FriendlyName);
Console::WriteLine("Application base is: " + domain->SetupInformation->ApplicationBase);
// Unload the application domain.
AppDomain::Unload(domain);
}
};
int main()
{
AppDomain4::Main();
}
C#
using System;
using System.Reflection;
classAppDomain4
{
publicstaticvoidMain()
{
// Create application domain setup information.
AppDomainSetup domaininfo = new AppDomainSetup();
domaininfo.ApplicationBase = "f:\\work\\development\\latest";
// Create the application domain.
AppDomain domain = AppDomain.CreateDomain("MyDomain", null, domaininfo);
// Write application domain information to the console.
Console.WriteLine("Host domain: " + AppDomain.CurrentDomain.FriendlyName);
Console.WriteLine("child domain: " + domain.FriendlyName);
Console.WriteLine("Application base is: " + domain.SetupInformation.ApplicationBase);
// Unload the application domain.
AppDomain.Unload(domain);
}
}
Imports System.Reflection
Class AppDomain4
Public Shared Sub Main()
' Create application domain setup information.
Dim domaininfo As new AppDomainSetup()
domaininfo.ApplicationBase = "f:\work\development\latest"
' Create the application domain.
Dim domain As AppDomain = AppDomain.CreateDomain("MyDomain", Nothing, domaininfo)
' Write application domain information to the console.
Console.WriteLine("Host domain: " + AppDomain.CurrentDomain.FriendlyName)
Console.WriteLine("child domain: " + domain.FriendlyName)
Console.WriteLine("Application base is: " + domain.SetupInformation.ApplicationBase)
' Unload the application domain.
AppDomain.Unload(domain)
End Sub
End Class
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв:
Присоединитесь к серии встреч для создания масштабируемых решений искусственного интеллекта на основе реальных вариантов использования с другими разработчиками и экспертами.
Узнайте о том, как создать домен приложения в .NET. Вы можете создать домен приложения, чтобы загрузить сборки и управлять ими лично, или создать сборку для выполнения кода.
Сведения о доменах приложений, которые образуют границу изоляции между приложениями для обеспечения безопасности, надежности, управления версиями и выгрузки сборок в .NET.