System.AppDomainManager.InitializeNewDomain 方法

方法描述

初始化新应用程序域。

语法定义(C# System.AppDomainManager.InitializeNewDomain 方法 的用法)

public virtual void InitializeNewDomain(
	AppDomainSetup appDomainInfo
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
appDomainInfo System-AppDomainSetup 包含应用程序域初始化信息的对象。
返回值 void

提示和注释

重要事项

请勿使用此方法在 ASP.NET 中初始化应用程序域。 在 ASP.NET 中,必须由宿主进行配置。 如果使用此方法初始化应用程序域,则宿主在尝试初始化应用程序域时会引发 InvalidOperationException。 异常消息指示已发生初始化。

在构造函数之后立即调用此方法。 默认的 InitializeNewDomain 实现不执行任何操作。 自定义实现可以设置内部类和委托,可以设置具有非托管宿主接口的接口,还可以为新的 AppDomain 设置事件处理程序。

此外,对于外接程序激活,自定义实现可以将当前 AppDomain 标识为目标应用程序域。

从 .NET Framework 4 版 开始,您可以使用此方法在应用程序启动时将默认应用程序域沙盒,或修改新应用程序域的沙盒。 若要这样做,请在初始化应用程序域之前,调整归属于 appDomainInfo 的 AppDomainSetup.ApplicationTrust 属性的 ApplicationTrust 对象上的 DefaultGrantSet 和 FullTrustAssemblies 属性。

注意

只有被授予 FullTrust 的程序集(如全局程序集缓存中的程序集或者在 AppDomain.CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) 方法中标识为 fullTrustAssemblies 的程序集)才可以在 AppDomainManager 构造函数和 InitializeNewDomain 方法中加载。

System.AppDomainManager.InitializeNewDomain 方法例子

此代码示例摘自为 AppDomainManager 类提供的一个更大的示例。

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

异常

异常 异常描述

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.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 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。