アプリケーション ドメインからのセットアップ情報の取得
更新 : 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);
}
}