AppDomainSetup.ApplicationBase プロパティ
アプリケーションが格納されているディレクトリの名前を取得または設定します。
Public Overridable Property ApplicationBase As String Implements _ IAppDomainSetup.ApplicationBase
[C#]
public virtual string ApplicationBase {get; set;}
[C++]
public: __property virtual String* get_ApplicationBase();public: __property virtual void set_ApplicationBase(String*);
[JScript]
public function get ApplicationBase() : String;public function set ApplicationBase(String);
プロパティ値
アプリケーション ベース ディレクトリの名前が含まれている String 。
実装
IAppDomainSetup.ApplicationBase
例外
例外の種類 | 条件 |
---|---|
SecurityException | 呼び出し元に、必要なアクセス許可がありません。 |
解説
アセンブリ キャッシュ マネージャの APPBASE 変数を取得または設定するときに使用されます。これは、アセンブリ マネージャがアセンブリのプローブを開始するディレクトリです。このプロパティは、 AppDomain が最初のバインドを終了した後は変更できません。
ApplicationBase プロパティは、AppDomain に与えるアクセス許可の種類に対して影響を及ぼすことができます。たとえば、ローカル コンピュータが送信する Appdomain は通常、発生元の位置に基づく完全信頼を受け取ります。ただし、AppDomain の ApplicationBase にイントラネット ディレクトリの完全名が設定されている場合、ApplicationBase 設定は、ローカル コンピュータからの実際の AppDomain の発生元にかかわらず、AppDomain に与えるアクセス許可を LocalIntranet に制限します。
使用例
Imports System
Imports System.Reflection
Imports System.Security.Policy 'for evidence object
Class ADSetupInformation
Public Shared Sub Main()
' Create the applcation domain setup information.
Dim domaininfo As New AppDomainSetup()
domaininfo.ApplicationBase = "file:///" + System.Environment.CurrentDirectory
'Create evidence for the new appdomain.
Dim adevidence As Evidence = AppDomain.CurrentDomain.Evidence
' Create the new application domain using setup information.
Dim domain As AppDomain = AppDomain.CreateDomain("MyDomain", adevidence, domaininfo)
' Write out the application domain information.
Console.WriteLine(("Host domain: " + AppDomain.CurrentDomain.FriendlyName))
Console.WriteLine(("new child domain: " + domain.FriendlyName))
Console.WriteLine()
Console.WriteLine(("Application base is: " + domain.SetupInformation.ApplicationBase))
AppDomain.Unload(domain)
End Sub 'Main
End Class 'ADSetupInformation
[C#]
using System;
using System.Reflection;
using System.Security.Policy; //for evidence object
class ADSetupInformation
{
public static void Main()
{
//Create the application domain setup information.
AppDomainSetup domaininfo = new AppDomainSetup();
domaininfo.ApplicationBase = "file:///" + System.Environment.CurrentDirectory;
//Create evidence for new appdomain.
Evidence adevidence = AppDomain.CurrentDomain.Evidence;
// Create the new application domain using setup information.
AppDomain domain = AppDomain.CreateDomain("MyDomain", adevidence, domaininfo);
// Write out the application domain information.
Console.WriteLine("Host domain: " + AppDomain.CurrentDomain.FriendlyName);
Console.WriteLine("new child domain: " + domain.FriendlyName);
Console.WriteLine();
Console.WriteLine("Application base is: " + domain.SetupInformation.ApplicationBase);
AppDomain.Unload(domain);
}
}
[C++]
#using <mscorlib.dll>
using namespace System;
using namespace System::Reflection;
using namespace System::Security::Policy; //for evidence Object
int main() {
//Create the application domain setup information.
AppDomainSetup* domaininfo = new AppDomainSetup();
domaininfo->ApplicationBase = System::Environment::CurrentDirectory;
//Create evidence for new appdomain.
Evidence* adevidence = AppDomain::CurrentDomain->Evidence;
// Create the new application domain using setup information.
AppDomain* domain = AppDomain::CreateDomain(S"MyDomain", adevidence, domaininfo);
// Write Out the application domain information.
Console::WriteLine(S"Host domain: {0}", AppDomain::CurrentDomain->FriendlyName);
Console::WriteLine(S"new child domain: {0}", domain->FriendlyName);
Console::WriteLine();
Console::WriteLine(S"Application base is: {0}", domain->SetupInformation->ApplicationBase);
AppDomain::Unload(domain);
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
.NET Framework セキュリティ:
- FileIOPermission (パス情報にアクセスするために必要なアクセス許可) FileIOPermissionAccess.PathDiscovery (関連する列挙体)