AppDomainManager クラスとは? わかりやすく解説

AppDomainManager クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

アンマネージ ホスト対応するマネージ ホスト提供します

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

<ComVisibleAttribute(True)> _
Public Class AppDomainManager
    Inherits MarshalByRefObject
Dim instance As AppDomainManager
[ComVisibleAttribute(true)] 
public class AppDomainManager : MarshalByRefObject
[ComVisibleAttribute(true)] 
public ref class AppDomainManager : public
 MarshalByRefObject
/** @attribute ComVisibleAttribute(true) */ 
public class AppDomainManager extends MarshalByRefObject
ComVisibleAttribute(true) 
public class AppDomainManager extends
 MarshalByRefObject
解説解説

AppDomainManager クラス実装すると、ホスト アプリケーション新しアプリケーション ドメイン作成関与させることができます既定AppDomainManager置き換えるには、APPDOMAIN_MANAGER_ASM 環境変数および APPDOMAIN_MANAGER_TYPE 環境変数置換 AppDomainManagerアセンブリおよび型を識別します。アセンブリは、完全に信頼されている必要がありますまた、グローバル アセンブリ キャッシュまたは先頭アプリケーションディレクトリ内に含まれている必要があります型名およびアセンブリ名は、環境変数で完全修飾されている必要があります次に例を示します

set APPDOMAIN_MANAGER_TYPE=MyNamespace.TestAppDomainManager

set APPDOMAIN_MANAGER_ASM=customappDomainmanager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f1368f7b12a08d72

AppDomainManager は、アンマネージ ホスト対応するマネージ ホストです。AppDomainManager オブジェクトは、1 つプロセスでの新しアプリケーション ドメイン作成使用されます。また、このオブジェクト使用すると、他のマネージ コード実行する前に新しAppDomainカスタマイズできますAppDomainManager は、共通言語ランタイム実行別の面に参加するホスト マネージャ提供することもできます。たとえば、AppDomainManager によって、アプリケーション ドメインセキュリティ決定関与する HostSecurityManager オブジェクト指定できます

メモメモ

グローバル アセンブリ キャッシュ内のアセンブリのように FullTrust与えられアセンブリや、AppDomain.CreateDomain(String,Evidence,AppDomainSetup,PermissionSet,StrongName[]) メソッドfullTrustAssemblies として識別できるアセンブリのみを、AppDomainManager コンストラクタおよび InitializeNewDomain メソッド読み込むことができます

メモメモ

このクラスには、クラス レベルのリンク確認要求継承確認要求含まれます。直前呼び出し元または派生クラスインフラストラクチャ アクセス許可ない場合SecurityExceptionスローさます。セキュリティ要求詳細については、「リンク確認要求」および「継承確認要求」を参照してください

使用例使用例

AppDomainManager の非常に単純な実装次のコード例示します

' To replace the default AppDomainManager, identify  the 
' replacement assembly and replacement type in the 
' APPDOMAIN_MANAGER_ASM and APPDOMAIN_MANAGER_TYPE  
' environment variables. For example:
' set APPDOMAIN_MANAGER_TYPE=library.TestAppDomainManager
' set APPDOMAIN_MANAGER_ASM=library, Version=1.0.0.0, Culture=neutral,
 PublicKeyToken=f1368f7b12a08d72
Imports System
Imports System.Collections
Imports System.Net
Imports System.Reflection
Imports System.Security
Imports System.Security.Permissions
Imports System.Security.Policy
Imports System.Security.Principal
Imports System.Threading
Imports System.Runtime.InteropServices

<assembly: System.Security.AllowPartiallyTrustedCallersAttribute()>
<SecurityPermissionAttribute(SecurityAction.LinkDemand, _
    Flags:=SecurityPermissionFlag.Infrastructure)> _
<SecurityPermissionAttribute(SecurityAction.InheritanceDemand, _
    Flags:=SecurityPermissionFlag.Infrastructure)> _
<GuidAttribute("F4D15099-3407-4A7E-A607-DEA440CF3891")>
 _
Public Class MyAppDomainManager
    Inherits AppDomainManager
    Private mySecurityManager As HostSecurityManager
 = Nothing
    
    Public Sub New() 
        Console.WriteLine(" My AppDomain Manager ")
        mySecurityManager = AppDomain.CurrentDomain.CreateInstanceAndUnwrap( _
            "CustomSecurityManager, Version=1.0.0.3, Culture=neutral,
 " & _
            "PublicKeyToken=5659fc598c2a503e", "MyNamespace.MySecurityManager")
        Console.WriteLine(" Custom Security Manager Created.")
    
    End Sub 'New
    
    Public Overrides Sub
 InitializeNewDomain(ByVal appDomainInfo _
        As AppDomainSetup) 
        Console.Write("Initialize new domain called:  ")
        Console.WriteLine(AppDomain.CurrentDomain.FriendlyName)
        InitializationFlags = _
            AppDomainManagerInitializationOptions.RegisterWithHost   
    End Sub 'InitializeNewDomain

    Public Overrides ReadOnly
 Property HostSecurityManager() _
        As HostSecurityManager 
        Get
            Return mySecurityManager
        End Get
    End Property
End Class 'MyAppDomainManager
 
// To replace the default AppDomainManager, identify  the 
// replacement assembly and replacement type in the 
// APPDOMAIN_MANAGER_ASM and APPDOMAIN_MANAGER_TYPE  
// environment variables. For example:
// set APPDOMAIN_MANAGER_TYPE=library.TestAppDomainManager
// set APPDOMAIN_MANAGER_ASM=library, Version=1.0.0.0, Culture=neutral,
 PublicKeyToken=f1368f7b12a08d72

using System;
using System.Collections;
using System.Net;
using System.Reflection;
using System.Security;
using System.Security.Permissions;
using System.Security.Policy;
using System.Security.Principal;
using System.Threading;
using System.Runtime.InteropServices;

[assembly: System.Security.AllowPartiallyTrustedCallersAttribute()]

namespace MyNamespace
{
    [GuidAttribute("F4D15099-3407-4A7E-A607-DEA440CF3891")]
    [SecurityPermissionAttribute(SecurityAction.LinkDemand, 
        Flags = SecurityPermissionFlag.Infrastructure)]
    [SecurityPermissionAttribute(SecurityAction.InheritanceDemand, 
        Flags = SecurityPermissionFlag.Infrastructure)]
    public class MyAppDomainManager : AppDomainManager
    {
        private HostSecurityManager mySecurityManager = null;

        public MyAppDomainManager()
        {
            Console.WriteLine(" My AppDomain Manager ");
            mySecurityManager = AppDomain.CurrentDomain.CreateInstanceAndUnwrap(
                "CustomSecurityManager, Version=1.0.0.3, Culture=neutral, "
 +
                "PublicKeyToken=5659fc598c2a503e", 
                "MyNamespace.MySecurityManager") as HostSecurityManager;
            Console.WriteLine(" Custom Security Manager Created.");
        }

        public override void InitializeNewDomain(AppDomainSetup
 appDomainInfo)
        {
            Console.Write("Initialize new domain called:
  ");
            Console.WriteLine(AppDomain.CurrentDomain.FriendlyName);
            InitializationFlags = 
                AppDomainManagerInitializationOptions.RegisterWithHost;
        }

        public override HostSecurityManager HostSecurityManager
        {
            get
            {
                return mySecurityManager;
            }
        }
    }
}
.NET Framework のセキュリティ.NET Frameworkセキュリティ
継承階層継承階層
System.Object
   System.MarshalByRefObject
    System.AppDomainManager
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「AppDomainManager クラス」の関連用語

AppDomainManager クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



AppDomainManager クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS