내보내기(0) 인쇄
모두 확장
이 문서는 수동으로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오.
번역
원본
이 항목은 아직 평가되지 않았습니다.- 이 항목 평가

AppDomainManager 클래스

관리되지 않는 호스트와 같은 관리되는 개체를 제공합니다.

네임스페이스:  System
어셈블리:  mscorlib(mscorlib.dll)
[ComVisibleAttribute(true)]
[SecurityPermissionAttribute(SecurityAction.InheritanceDemand, Flags = SecurityPermissionFlag.Infrastructure)]
public class AppDomainManager : MarshalByRefObject

AppDomainManager 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 메서드XNA Framework에서 지원AppDomainManager AppDomainManager 클래스의 새 인스턴스를 초기화합니다.
위쪽
  이름설명
Public 속성ApplicationActivator도메인의 매니페스트 기반 응용 프로그램과 추가 기능의 활성화를 처리하는 응용 프로그램 활성기를 가져옵니다.
Public 속성EntryAssembly응용 프로그램의 진입 어셈블리를 가져옵니다.
Public 속성HostExecutionContextManager실행 컨텍스트의 흐름을 관리하는 호스트 실행 컨텍스트 관리자를 가져옵니다.
Public 속성HostSecurityManager응용 프로그램 도메인의 보안 결정에 참여하는 호스트 보안 관리자를 가져옵니다.
Public 속성XNA Framework에서 지원InitializationFlags사용자 지정 응용 프로그램 도메인 관리자의 초기화 플래그를 가져옵니다.
위쪽
  이름설명
Public 메서드CheckSecuritySettings응용 프로그램 도메인에서 특정 작업이 허용되는지 여부를 나타냅니다.
Public 메서드CreateDomain새 응용 프로그램 도메인 또는 기존 응용 프로그램 도메인을 반환합니다.
Protected 메서드정적 멤버CreateDomainHelper응용 프로그램 도메인을 만들기 위해 도우미 메서드를 제공합니다.
Public 메서드CreateObjRef원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다. (MarshalByRefObject에서 상속됨)
Public 메서드XNA Framework에서 지원Equals(Object)지정한 Object가 현재 Object와 같은지 여부를 확인합니다. (Object에서 상속됨)
Protected 메서드XNA Framework에서 지원Finalize 개체가 가비지 수집자에서 회수되기 전에, 해당 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드XNA Framework에서 지원GetHashCode특정 형식에 대한 해시 함수 역할을 합니다. (Object에서 상속됨)
Public 메서드GetLifetimeService이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다. (MarshalByRefObject에서 상속됨)
Public 메서드XNA Framework에서 지원GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드InitializeLifetimeService이 인스턴스의 수명 정책을 제어하기 위한 수명 서비스 개체를 가져옵니다. (MarshalByRefObject에서 상속됨)
Public 메서드XNA Framework에서 지원InitializeNewDomain새 응용 프로그램 도메인을 초기화합니다.
Protected 메서드XNA Framework에서 지원MemberwiseClone()현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Protected 메서드MemberwiseClone(Boolean)현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다. (MarshalByRefObject에서 상속됨)
Public 메서드XNA Framework에서 지원ToString현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)
위쪽
예외상황
SecurityException

호출자에게 올바른 권한이 없는 경우. 요구 사항 부분을 참조하십시오.

중요중요

AppDomainManager 를 사용하여 ASP.NET에서 응용 프로그램 도메인을 구성하지 마십시오. ASP.NET에서 이러한 구성은 호스트에서 처리되어야 합니다.

AppDomainManager 클래스를 구현하면 호스팅 응용 프로그램에서 새 응용 프로그램 도메인 생성에 참여할 수 있습니다. 기본 AppDomainManager를 바꾸려면 APPDOMAIN_MANAGER_ASM 및 APPDOMAIN_MANAGER_TYPE 환경 변수에서 대체 AppDomainManager의 어셈블리와 형식을 식별하거나 구성 파일에서 <appDomainManagerAssembly><appDomainManagerType> 요소를 사용합니다. 어셈블리는 완전히 신뢰할 수 있어야 하며 전역 어셈블리 캐시나 시작 응용 프로그램의 디렉터리에 포함되어야 합니다. 형식 및 어셈블리 이름은 환경 변수에서 정규화되어야 합니다. 예를 들면 다음과 같습니다.

set APPDOMAIN_MANAGER_TYPE=MyNamespace.TestAppDomainManager

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

중요중요

AppDomainManager 의 하위 클래스를 포함하는 어셈블리가 조건부 AllowPartiallyTrustedCallersAttribute(APTCA) 특성이 표시된 어셈블리에 종속된 경우 응용 프로그램 도메인을 만드는 데 사용하는 AppDomainSetupPartialTrustVisibleAssemblies 속성에 전달하는 목록에 이러한 어셈블리를 포함해야 합니다. 그렇지 않으면 조건부 APTCA 특성이 표시된 어셈블리는 사용할 수 없습니다.

AppDomainManager 는 관리되지 않는 호스트와 같은 관리되는 개체입니다. AppDomainManager 개체는 프로세스에서 새 응용 프로그램 도메인 생성에 참여하며 다른 관리 코드가 실행되기 전에 새 AppDomain을 사용자 지정할 수 있습니다. AppDomainManager 는 공용 언어 런타임 실행의 다른 측면에 참여하는 호스트 관리자를 제공할 수도 있습니다. 예를 들어 AppDomainManager는 응용 프로그램 도메인의 보안 결정에 참여하는 HostSecurityManager 개체를 나타낼 수 있습니다.

참고참고

전역 어셈블리 캐시에 있는 어셈블리나 AppDomain.CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) 메서드에서 fullTrustAssemblies로 식별된 어셈블리와 같이 FullTrust가 부여된 어셈블리만 AppDomainManager 생성자와 InitializeNewDomain 메서드에서 로드할 수 있습니다.

참고참고

이 클래스에는 클래스 수준의 상속 요청과 링크 요청이 포함됩니다. 직접 실행 호출자나 파생 클래스에 인프라 권한이 없으면 SecurityException이 throw됩니다. 보안 요청에 대한 자세한 내용은 링크 요청상속 요청을 참조하십시오.

다음 예제에서는 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

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

4, 3.5, 3.0, 2.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

Windows 7, Windows Vista SP1 이상, Windows XP SP3, Windows XP SP2 x64 버전, Windows Server 2008(Server Core는 지원되지 않음), Windows Server 2008 R2(Server Core는 SP1 이상에서 지원됨), Windows Server 2003 SP2

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.
이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.
이 정보가 도움이 되었습니까?
(1500자 남음)
의견을 주셔서 감사합니다.

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft. All rights reserved.