Nasıl yapılır: Uygulama Etki Alanını Yapılandırma
Not
Bu makale .NET Framework'e özgüdür. .NET 6 ve sonraki sürümleri de dahil olmak üzere daha yeni .NET uygulamaları için geçerli değildir.
sınıfını kullanarak AppDomainSetup yeni bir uygulama etki alanı için yapılandırma bilgilerini içeren ortak dil çalışma zamanı sağlayabilirsiniz. Kendi uygulama etki alanlarınızı oluştururken en önemli özelliktir ApplicationBase. Diğer AppDomainSetup özellikleri çoğunlukla belirli bir uygulama etki alanını yapılandırmak için çalışma zamanı konakları tarafından kullanılır.
ApplicationBase özelliği, uygulamanın kök dizinini tanımlar. Çalışma zamanının bir tür isteğini karşılaması gerektiğinde, ApplicationBase özelliği tarafından belirtilen dizinde türü içeren derlemeyi yoklar.
Not
Yeni bir uygulama etki alanı yalnızca oluşturucunun ApplicationBase özelliğini devralır.
Aşağıdaki örnek AppDomainSetup sınıfının bir örneğini oluşturur, yeni bir uygulama etki alanı oluşturmak için bu sınıfı kullanır, bilgileri konsola yazar ve uygulama etki alanını kaldırır.
Örnek
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();
}
using System;
using System.Reflection;
class AppDomain4
{
public static void Main()
{
// 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