この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

AppDomain クラス

 

公開日: 2016年10月

アプリケーション ドメインを表します。アプリケーション ドメインとは、アプリケーションが実行される分離された環境です。 このクラスは継承できません。

名前空間:   System
アセンブリ:  mscorlib (mscorlib.dll 内)

System.Object
  System.MarshalByRefObject
    System.AppDomain

[ClassInterfaceAttribute(ClassInterfaceType.None)]
[ComVisibleAttribute(true)]
public sealed class AppDomain : MarshalByRefObject, _AppDomain, 
	IEvidenceFactory

名前説明
System_CAPS_pubpropertyActivationContext

現在のアプリケーション ドメインのアクティベーション コンテキストを取得します。

System_CAPS_pubpropertyApplicationIdentity

アプリケーション ドメイン内のアプリケーションの ID を取得します。

System_CAPS_pubpropertyApplicationTrust

アプリケーションに付与されているアクセス許可の情報を取得し、実行に必要な信頼レベルがそのアプリケーションにあるかどうかを調べます。

System_CAPS_pubpropertyBaseDirectory

アセンブリを探すためにアセンブリ リゾルバーが使用したベース ディレクトリを取得します。

System_CAPS_pubpropertySystem_CAPS_staticCurrentDomain

現在の Thread に対する現在のアプリケーション ドメインを取得します。

System_CAPS_pubpropertyDomainManager

アプリケーション ドメインの初期化時にホストから提供されたドメイン マネージャーを取得します。

System_CAPS_pubpropertyDynamicDirectory

動的に作成されたアセンブリを探すためにアセンブリ リゾルバーが使用するディレクトリを取得します。

System_CAPS_pubpropertyEvidence

このアプリケーション ドメインに関連付けられている Evidence を取得します。

System_CAPS_pubpropertyFriendlyName

アプリケーション ドメインの表示名を取得します。

System_CAPS_pubpropertyId

プロセス内のアプリケーション ドメインを一意に識別する整数を取得します。

System_CAPS_pubpropertyIsFullyTrusted

現在のアプリケーション ドメインに読み込まれたアセンブリが、完全に信頼された状態で実行されるかどうかを示す値を取得します。

System_CAPS_pubpropertyIsHomogenous

アプリケーション ドメインに読み込まれたすべてのアセンブリに付与されるアクセス許可セットが、現在のアプリケーション ドメインに存在するかどうかを示す値を取得します。

System_CAPS_pubpropertySystem_CAPS_staticMonitoringIsEnabled

現在のプロセスに対して、アプリケーション ドメインの CPU およびメモリの監視が有効になっているかどうかを示す値を取得または設定します。 プロセスに対して一度有効にした監視を無効にすることはできません。

System_CAPS_pubpropertyMonitoringSurvivedMemorySize

最後のコレクションの実行後に残された、現在のアプリケーション ドメインによって参照されていることが判明しているバイト数を取得します。

System_CAPS_pubpropertySystem_CAPS_staticMonitoringSurvivedProcessMemorySize

最後のコレクションの実行後に残された、プロセス内のすべてのアプリケーション ドメインにおける合計バイト数を取得します。

System_CAPS_pubpropertyMonitoringTotalAllocatedMemorySize

アプリケーション ドメインが作成されてから、そのアプリケーション ドメインで実行されたすべてのメモリ割り当ての合計サイズをバイト単位で取得します。収集されたメモリは差し引かれません。

System_CAPS_pubpropertyMonitoringTotalProcessorTime

プロセスが開始されてから、現在のアプリケーション ドメインでの実行中にすべてのスレッドで使用された合計プロセッサ時間を取得します。

System_CAPS_pubpropertyPermissionSet

サンドボックス化されたアプリケーション ドメインのアクセス許可セットを取得します。

System_CAPS_pubpropertyRelativeSearchPath

アセンブリ リゾルバーがプライベート アセンブリを探す場所を示す、ベース ディレクトリ以下のパスを取得します。

System_CAPS_pubpropertySetupInformation

このインスタンスのアプリケーション ドメイン構成情報を取得します。

System_CAPS_pubpropertyShadowCopyFiles

アプリケーション ドメインでファイルのシャドウ コピーを実行するよう設定されているかどうかを示す値を取得します。

名前説明
System_CAPS_pubmethodAppendPrivatePath(String)

互換性のために残されています。 指定されたディレクトリ名をプライベート パス リストに追加します。

System_CAPS_pubmethodApplyPolicy(String)

ポリシーが適用された後のアセンブリの表示名を返します。

System_CAPS_pubmethodClearPrivatePath()

互換性のために残されています。 プライベート アセンブリの場所を指定するパスを空の文字列 ("") にリセットします。

System_CAPS_pubmethodClearShadowCopyPath()

互換性のために残されています。 シャドウ コピーされたアセンブリが含まれているディレクトリのリストを空の文字列 ("") にリセットします。

System_CAPS_pubmethodCreateComInstanceFrom(String, String)

指定した COM 型の新しいインスタンスを作成します。 型を含んでいるアセンブリのファイルの名前と、型の名前をパラメーターで指定します。

System_CAPS_pubmethodCreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm)

指定した COM 型の新しいインスタンスを作成します。 型を含んでいるアセンブリのファイルの名前と、型の名前をパラメーターで指定します。

System_CAPS_pubmethodSystem_CAPS_staticCreateDomain(String)

名前を指定して新しいアプリケーション ドメインを作成します。

System_CAPS_pubmethodSystem_CAPS_staticCreateDomain(String, Evidence)

名前および証拠を指定して新しいアプリケーション ドメインを作成します。

System_CAPS_pubmethodSystem_CAPS_staticCreateDomain(String, Evidence, AppDomainSetup)

名前、証拠、およびアプリケーション ドメイン設定情報を指定して、新しいアプリケーション ドメインを作成します。

System_CAPS_pubmethodSystem_CAPS_staticCreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[])

指定された名前、証拠、アプリケーション ドメインの設定情報、既定のアクセス許可セット、および完全信頼されたアセンブリの配列を使用して、新しいアプリケーション ドメインを作成します。

System_CAPS_pubmethodSystem_CAPS_staticCreateDomain(String, Evidence, String, String, Boolean)

名前、証拠、アプリケーション ベース パス、相対検索パス、およびアセンブリのシャドウ コピーをアプリケーション ドメインに読み込むかどうかを示すパラメーターを指定して、新しいアプリケーション ドメインを作成します。

System_CAPS_pubmethodSystem_CAPS_staticCreateDomain(String, Evidence, String, String, Boolean, AppDomainInitializer, String[])

名前、証拠、アプリケーション ベース パス、相対検索パス、およびアセンブリのシャドウ コピーをアプリケーション ドメインに読み込むかどうかを示すパラメーターを指定して、新しいアプリケーション ドメインを作成します。 アプリケーション ドメインを初期化したときに呼び出されるコールバック メソッドと、そのコールバック メソッドに渡す文字列型引数の配列を指定します。

System_CAPS_pubmethodCreateInstance(String, String)

指定したアセンブリで定義されている、指定した型の新しいインスタンスを作成します。

System_CAPS_pubmethodCreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

指定したアセンブリで定義されている、指定した型の新しいインスタンスを作成します。 バインダー、バインディング フラグ、コンストラクター引数、引数を解釈するために使用するカルチャ固有の情報、および省略可能なアクティベーション属性をパラメーターで指定します。

System_CAPS_pubmethodCreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

互換性のために残されています。 指定したアセンブリで定義されている、指定した型の新しいインスタンスを作成します。 バインダー、バインディング フラグ、コンストラクター引数、引数を解釈するために使用するカルチャ固有の情報、アクティベーション属性、型を作成するために必要な承認情報をパラメーターで指定します。

System_CAPS_pubmethodCreateInstance(String, String, Object[])

指定したアセンブリで定義されている、指定した型の新しいインスタンスを作成します。 アクティベーション属性の配列をパラメーターで指定します。

System_CAPS_pubmethodCreateInstanceAndUnwrap(String, String)

指定した型の新しいインスタンスを作成します。 型が定義されているアセンブリの名前と、型の名前をパラメーターで指定します。

System_CAPS_pubmethodCreateInstanceAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

指定したアセンブリで定義されている、指定した型の新しいインスタンスを作成します。型名の大文字と小文字の区別を無視するかどうか、作成する型を選択するために使用されるバインディング属性とバインダー、コンストラクターの引数、カルチャ、およびアクティベーション属性を指定します。

System_CAPS_pubmethodCreateInstanceAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

互換性のために残されています。 指定した型の新しいインスタンスを作成します。 型の名前、およびその検索方法と作成方法をパラメーターで指定します。

System_CAPS_pubmethodCreateInstanceAndUnwrap(String, String, Object[])

指定した型の新しいインスタンスを作成します。 型が定義されているアセンブリの名前、型の名前、およびアクティベーション属性の配列をパラメーターで指定します。

System_CAPS_pubmethodCreateInstanceFrom(String, String)

指定したアセンブリ ファイルで定義されている、指定した型の新しいインスタンスを作成します。

System_CAPS_pubmethodCreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

指定したアセンブリ ファイルで定義されている、指定した型の新しいインスタンスを作成します。

System_CAPS_pubmethodCreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

互換性のために残されています。 指定したアセンブリ ファイルで定義されている、指定した型の新しいインスタンスを作成します。

System_CAPS_pubmethodCreateInstanceFrom(String, String, Object[])

指定したアセンブリ ファイルで定義されている、指定した型の新しいインスタンスを作成します。

System_CAPS_pubmethodCreateInstanceFromAndUnwrap(String, String)

指定したアセンブリ ファイルで定義されている、指定した型の新しいインスタンスを作成します。

System_CAPS_pubmethodCreateInstanceFromAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

指定したアセンブリ ファイルで定義されている、指定した型の新しいインスタンスを作成します。型名の大文字と小文字の区別を無視するかどうか、作成する型を選択するために使用されるバインディング属性とバインダー、コンストラクターの引数、カルチャ、およびアクティベーション属性を指定します。

System_CAPS_pubmethodCreateInstanceFromAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

互換性のために残されています。 指定したアセンブリ ファイルで定義されている、指定した型の新しいインスタンスを作成します。

System_CAPS_pubmethodCreateInstanceFromAndUnwrap(String, String, Object[])

指定したアセンブリ ファイルで定義されている、指定した型の新しいインスタンスを作成します。

System_CAPS_pubmethodCreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要なすべての関連情報を格納しているオブジェクトを作成します。(MarshalByRefObject から継承されます。)

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess)

名前とアクセス モードを指定して、動的アセンブリを定義します。

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, Evidence)

互換性のために残されています。 名前、アクセス モード、および証拠を指定して、動的アセンブリを定義します。

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, Evidence, PermissionSet, PermissionSet, PermissionSet)

互換性のために残されています。 名前、アクセス モード、証拠、およびアクセス許可要求を指定して、動的アセンブリを定義します。

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, IEnumerable<CustomAttributeBuilder>)

名前、アクセス モード、およびカスタム属性を指定して、動的アセンブリを定義します。

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, IEnumerable<CustomAttributeBuilder>, SecurityContextSource)

名前、アクセス モード、カスタム属性、およびセキュリティ コンテキストのソースを指定して、動的アセンブリを定義します。

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, PermissionSet, PermissionSet, PermissionSet)

互換性のために残されています。 名前、アクセス モード、およびアクセス許可要求を指定して、動的アセンブリを定義します。

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String)

名前、アクセス モード、およびストレージ ディレクトリを指定して、動的アセンブリを定義します。

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Boolean, IEnumerable<CustomAttributeBuilder>)

名前、アクセス モード、ストレージ ディレクトリ、および同期オプションを指定して、動的アセンブリを定義します。

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence)

互換性のために残されています。 名前、アクセス モード、ストレージ ディレクトリ、および証拠を指定して、動的アセンブリを定義します。

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet)

互換性のために残されています。 名前、アクセス モード、ストレージ ディレクトリ、証拠、およびアクセス許可要求を指定して、動的アセンブリを定義します。

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet, Boolean)

互換性のために残されています。 名前、アクセス モード、ストレージ ディレクトリ、証拠、アクセス許可要求、および同期オプションを指定して、動的アセンブリを定義します。

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet, Boolean, IEnumerable<CustomAttributeBuilder>)

互換性のために残されています。 名前、アクセス モード、ストレージ ディレクトリ、証拠、アクセス許可要求、同期オプション、およびカスタム属性を指定して、動的アセンブリを定義します。

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, PermissionSet, PermissionSet, PermissionSet)

互換性のために残されています。 名前、アクセス モード、ストレージ ディレクトリ、およびアクセス許可要求を指定して、動的アセンブリを定義します。

System_CAPS_pubmethodDoCallBack(CrossAppDomainDelegate)

指定したデリゲートで識別される、別のアプリケーション ドメイン内のコードを実行します。

System_CAPS_pubmethodEquals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。(Object から継承されます。)

System_CAPS_pubmethodExecuteAssembly(String)

指定したファイルに格納されているアセンブリを実行します。

System_CAPS_pubmethodExecuteAssembly(String, Evidence)

互換性のために残されています。 指定したファイルに格納されているアセンブリを、指定した証拠を使用して実行します。

System_CAPS_pubmethodExecuteAssembly(String, Evidence, String[])

互換性のために残されています。 指定したファイルに格納されているアセンブリを、指定した証拠と引数を使用して実行します。

System_CAPS_pubmethodExecuteAssembly(String, Evidence, String[], Byte[], AssemblyHashAlgorithm)

互換性のために残されています。 指定したファイルに格納されているアセンブリを、指定した証拠、引数、ハッシュ値、およびハッシュ アルゴリズムを使用して実行します。

System_CAPS_pubmethodExecuteAssembly(String, String[])

指定したファイルに格納されているアセンブリを、指定した引数を使用して実行します。

System_CAPS_pubmethodExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm)

指定したファイルに格納されているアセンブリを、指定した引数、ハッシュ値、およびハッシュ アルゴリズムを使用して実行します。

System_CAPS_pubmethodExecuteAssemblyByName(AssemblyName, Evidence, String[])

互換性のために残されています。 AssemblyName を指定し、指定された証拠および引数を使用してアセンブリを実行します。

System_CAPS_pubmethodExecuteAssemblyByName(AssemblyName, String[])

AssemblyName を指定し、指定された引数を使用してアセンブリを実行します。

System_CAPS_pubmethodExecuteAssemblyByName(String)

表示名を指定してアセンブリを実行します。

System_CAPS_pubmethodExecuteAssemblyByName(String, Evidence)

互換性のために残されています。 表示名を指定し、指定された証拠を使用してアセンブリを実行します。

System_CAPS_pubmethodExecuteAssemblyByName(String, Evidence, String[])

互換性のために残されています。 表示名を指定し、指定された証拠および引数を使用してアセンブリを実行します。

System_CAPS_pubmethodExecuteAssemblyByName(String, String[])

表示名を指定し、指定された引数を使用してアセンブリを実行します。

System_CAPS_pubmethodGetAssemblies()

アプリケーション ドメインの実行コンテキストに読み込まれているアセンブリを取得します。

System_CAPS_pubmethodSystem_CAPS_staticGetCurrentThreadId()

互換性のために残されています。 現在のスレッドの識別子を取得します。

System_CAPS_pubmethodGetData(String)

現在のアプリケーション ドメイン内に格納されている、指定した名前の値を取得します。

System_CAPS_pubmethodGetHashCode()

既定のハッシュ関数として機能します。(Object から継承されます。)

System_CAPS_pubmethodGetLifetimeService()

このインスタンスの有効期間ポリシーを制御する現在の有効期間サービス オブジェクトを取得します。(MarshalByRefObject から継承されます。)

System_CAPS_pubmethodGetType()

現在のインスタンスの型を取得します。

System_CAPS_pubmethodInitializeLifetimeService()

リースが作成されないようにすることで、AppDomain に無期限の有効期間を指定します。(MarshalByRefObject.InitializeLifetimeService() をオーバーライドします。)

System_CAPS_pubmethodIsCompatibilitySwitchSet(String)

いずれかの互換性スイッチが設定されているかどうか、設定されている場合は指定の互換性スイッチが設定されているかどうかを示す、null 許容のブール値を取得します。

System_CAPS_pubmethodIsDefaultAppDomain()

アプリケーション ドメインが、プロセスの既定のアプリケーション ドメインであるかどうかを示す値を返します。

System_CAPS_pubmethodIsFinalizingForUnload()

このアプリケーション ドメインがアンロード中で、これに含まれるオブジェクトが共通言語ランタイムによって終了処理されているかどうかを示します。

System_CAPS_pubmethodLoad(AssemblyName)

AssemblyName を指定して、Assembly を読み込みます。

System_CAPS_pubmethodLoad(AssemblyName, Evidence)

互換性のために残されています。 AssemblyName を指定して、Assembly を読み込みます。

System_CAPS_pubmethodLoad(Byte[])

生成された Assembly を含む COFF (Common Object File Format) ベースのイメージを使用して、Assembly を読み込みます。

System_CAPS_pubmethodLoad(Byte[], Byte[])

生成された Assembly を含む COFF (Common Object File Format) ベースのイメージを使用して、Assembly を読み込みます。 Assembly のシンボルを表す生バイトも読み込まれます。

System_CAPS_pubmethodLoad(Byte[], Byte[], Evidence)

互換性のために残されています。 生成された Assembly を含む COFF (Common Object File Format) ベースのイメージを使用して、Assembly を読み込みます。 Assembly のシンボルを表す生バイトも読み込まれます。

System_CAPS_pubmethodLoad(String)

表示名を指定して Assembly を読み込みます。

System_CAPS_pubmethodLoad(String, Evidence)

互換性のために残されています。 表示名を指定して Assembly を読み込みます。

System_CAPS_pubmethodReflectionOnlyGetAssemblies()

アプリケーション ドメインのリフレクション専用コンテキストに読み込まれているアセンブリを返します。

System_CAPS_pubmethodSetAppDomainPolicy(PolicyLevel)

互換性のために残されています。 アプリケーション ドメインのセキュリティ ポリシー レベルを設定します。

System_CAPS_pubmethodSetCachePath(String)

互換性のために残されています。 指定したディレクトリ パスを、アセンブリのシャドウ コピー先として設定します。

System_CAPS_pubmethodSetData(String, Object)

指定したアプリケーション ドメイン プロパティに、指定した値を割り当てます。

System_CAPS_pubmethodSetData(String, Object, IPermission)

アプリケーション ドメインの特定のプロパティに対し、指定された値を代入します。プロパティの取得時に呼び出し元に要求するアクセス許可を引数として受け取ります。

System_CAPS_pubmethodSetDynamicBase(String)

互換性のために残されています。 動的に生成されたファイルの格納先、およびそのファイルへのアクセス先となるサブディレクトリに対するベース ディレクトリとして、ディレクトリ パスを設定します。

System_CAPS_pubmethodSetPrincipalPolicy(PrincipalPolicy)

アプリケーション ドメインでスレッドを実行中に、スレッドがプリンシパルにバインドしようとした場合に、プリンシパル オブジェクトと ID オブジェクトをそのスレッドに関連付ける方法を指定します。

System_CAPS_pubmethodSetShadowCopyFiles()

互換性のために残されています。 シャドウ コピーをオンにします。

System_CAPS_pubmethodSetShadowCopyPath(String)

互換性のために残されています。 指定したディレクトリ パスを、シャドウ コピーするアセンブリがある場所として設定します。

System_CAPS_pubmethodSetThreadPrincipal(IPrincipal)

アプリケーション ドメインでスレッドを実行中に、スレッドがプリンシパルにバインドしようとした場合に、そのスレッドに関連付ける既定のプリンシパル オブジェクトを設定します。

System_CAPS_pubmethodToString()

アプリケーション ドメインの表示名とコンテキスト ポリシーを含む文字列形式を取得します。(Object.ToString() をオーバーライドします。)

System_CAPS_pubmethodSystem_CAPS_staticUnload(AppDomain)

指定したアプリケーション ドメインをアンロードします。

名前説明
System_CAPS_pubeventAssemblyLoad

アセンブリが読み込まれたときに発生します。

System_CAPS_pubeventAssemblyResolve

アセンブリの解決が失敗したときに発生します。

System_CAPS_pubeventDomainUnload

AppDomain をアンロードしようとすると発生します。

System_CAPS_pubeventFirstChanceException

アプリケーション ドメイン内の例外ハンドラーに対する呼び出し履歴をランタイムが検索する前に、マネージ コード内で例外がスローされた場合に発生します。

System_CAPS_pubeventProcessExit

既定のアプリケーション ドメインの親プロセスが終了した場合に発生します。

System_CAPS_pubeventReflectionOnlyAssemblyResolve

リフレクション専用のコンテキストでアセンブリの解決に失敗した場合に発生します。

System_CAPS_pubeventResourceResolve

リソースが正しくリンクされていなかったり、アセンブリに埋め込まれているなどの理由からリソースの解決に失敗した場合に発生します。

System_CAPS_pubeventTypeResolve

型の解決が失敗したときに発生します。

System_CAPS_pubeventUnhandledException

例外がキャッチされない場合に発生します。

名前説明
System_CAPS_pubinterfaceSystem_CAPS_privmethod_AppDomain.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

一連の名前を対応する一連のディスパッチ識別子に割り当てます。

System_CAPS_pubinterfaceSystem_CAPS_privmethod_AppDomain.GetTypeInfo(UInt32, UInt32, IntPtr)

オブジェクトの型情報を取得します。この型情報を使用して、インターフェイスの型情報を取得できます。

System_CAPS_pubinterfaceSystem_CAPS_privmethod_AppDomain.GetTypeInfoCount(UInt32)

オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。

System_CAPS_pubinterfaceSystem_CAPS_privmethod_AppDomain.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。

アプリケーション ドメインは、によって表されるAppDomainオブジェクト、ヘルプのマネージ コードを実行するための分離、アンロード、およびセキュリティの境界を提供します。

  • アプリケーション ドメインを使用すると、プロセスを引き起こす可能性のあるタスクを分離できます。 場合の状態、AppDomainタスクを実行している、不安定になった、AppDomainプロセスの影響を与えずにアンロードできます。 これは、機能を再起動しなくても、プロセスが長時間にわたって実行する必要があるときに重要です。 また、データを共有する必要がありますしないタスクを分離アプリケーション ドメインを使用することができます。

  • アセンブリが既定のアプリケーション ドメインに読み込まれている場合は、ことはできませんメモリからアンロードされたプロセスの実行中です。 ただし、開く場合は、アセンブリを実行する 2 番目のアプリケーション ドメイン、アセンブリはそのアプリケーション ドメインを読み込むときに読み込まれます。 場合によっては大きな Dll を使用する実行時間の長いプロセスのワーキング セットを最小限に抑えるには、この手法を使用します。

複数のアプリケーション ドメインが 1 つのプロセスで実行できます。ただし、アプリケーション ドメインとスレッド間の一対一の相関関係はありません。 複数のスレッドが 1 つのアプリケーション ドメインに属することができ、スレッドが 1 つのアプリケーション ドメインで実行中に、特定のスレッドがどの時点でも、1 つのアプリケーション ドメインに限定されていません。

使用してアプリケーション ドメインが作成された、CreateDomainメソッドです。 AppDomainインスタンスが読み込まれ、アセンブリを実行するために使用 (Assembly)。 ときに、AppDomainが不要になった使用中でない場合が読み込まれています。

AppDomainクラスは、アプリケーション ドメインは、読み込まれますときに、アセンブリが読み込まれるときに、または未処理の例外がスローされたときに応答するアプリケーションを有効にするイベントのセットを実装します。

アプリケーション ドメインの使用の詳細については、次を参照してください。アプリケーション ドメインです。

このクラスは、実装、 MarshalByRefObject_AppDomain、およびIEvidenceFactoryインターフェイスです。

リモート処理可能なラッパーは作成しないで、AppDomainオブジェクト。 リモート参照を公開そうでしたAppDomainなどのメソッドを公開するCreateInstanceリモート アクセスと効率的にそのコード アクセス セキュリティを破棄するAppDomainです。 悪意のあるクライアントが、リモートに接続するAppDomain任意のリソースへのアクセスを取得する可能性があります、AppDomain自体へのアクセスを持ちます。 拡張する型のリモート処理可能なラッパーを作成しないMarshalByRefObject悪意のあるクライアントがセキュリティ システムをバイパスするために使用するメソッドを実装するとします。

System_CAPS_caution注意

既定値、AppDomainSetup.DisallowCodeDownloadプロパティはfalseします。 この設定は、サービスの安全ではありません。 サービスが部分的に信頼されたコードをダウンロードすることを防ぐためにこのプロパティを設定trueです。

この例は、新しいを作成する方法を示しています。 AppDomain、を内の型の新しいインスタンスを作成AppDomainを、その型のオブジェクトと通信します。 さらに、この例ではアンロード、AppDomain原因でガベージ コレクションを実行するオブジェクト。

using System;
using System.Reflection;
using System.Threading;

class Module1
{
    public static void Main()
    {
        // Get and display the friendly name of the default AppDomain.
        string callingDomainName = Thread.GetDomain().FriendlyName;
        Console.WriteLine(callingDomainName);

        // Get and display the full name of the EXE assembly.
        string exeAssembly = Assembly.GetEntryAssembly().FullName;
        Console.WriteLine(exeAssembly);

        // Construct and initialize settings for a second AppDomain.
        AppDomainSetup ads = new AppDomainSetup();
        ads.ApplicationBase = AppDomain.CurrentDomain.BaseDirectory;

        ads.DisallowBindingRedirects = false;
        ads.DisallowCodeDownload = true;
        ads.ConfigurationFile = 
            AppDomain.CurrentDomain.SetupInformation.ConfigurationFile;

        // Create the second AppDomain.
        AppDomain ad2 = AppDomain.CreateDomain("AD #2", null, ads);

        // Create an instance of MarshalbyRefType in the second AppDomain. 
        // A proxy to the object is returned.
        MarshalByRefType mbrt = 
            (MarshalByRefType) ad2.CreateInstanceAndUnwrap(
                exeAssembly, 
                typeof(MarshalByRefType).FullName
            );

        // Call a method on the object via the proxy, passing the 
        // default AppDomain's friendly name in as a parameter.
        mbrt.SomeMethod(callingDomainName);

        // Unload the second AppDomain. This deletes its object and 
        // invalidates the proxy object.
        AppDomain.Unload(ad2);
        try
        {
            // Call the method again. Note that this time it fails 
            // because the second AppDomain was unloaded.
            mbrt.SomeMethod(callingDomainName);
            Console.WriteLine("Sucessful call.");
        }
        catch(AppDomainUnloadedException)
        {
            Console.WriteLine("Failed call; this is expected.");
        }
    }
}

// Because this class is derived from MarshalByRefObject, a proxy 
// to a MarshalByRefType object can be returned across an AppDomain 
// boundary.
public class MarshalByRefType : MarshalByRefObject
{
    //  Call this method via a proxy.
    public void SomeMethod(string callingDomainName)
    {
        // Get this AppDomain's settings and display some of them.
        AppDomainSetup ads = AppDomain.CurrentDomain.SetupInformation;
        Console.WriteLine("AppName={0}, AppBase={1}, ConfigFile={2}", 
            ads.ApplicationName, 
            ads.ApplicationBase, 
            ads.ConfigurationFile
        );

        // Display the name of the calling AppDomain and the name 
        // of the second domain.
        // NOTE: The application's thread has transitioned between 
        // AppDomains.
        Console.WriteLine("Calling from '{0}' to '{1}'.", 
            callingDomainName, 
            Thread.GetDomain().FriendlyName
        );
    }
}

/* This code produces output similar to the following: 

AppDomainX.exe
AppDomainX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
AppName=, AppBase=C:\AppDomain\bin, ConfigFile=C:\AppDomain\bin\AppDomainX.exe.config
Calling from 'AppDomainX.exe' to 'AD #2'.
Failed call; this is expected.
 */

.NET Framework
1.1 以降で使用可能
Silverlight
2.0 以降で使用可能
Windows Phone Silverlight
7.0 以降で使用可能

この型のパブリック static (Visual Basic では Shared ) メンバーはスレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

トップに戻る
表示: